mirror of
https://github.com/gryf/pygtktalog.git
synced 2025-12-18 03:50:25 +01:00
Early design for separating main classes into smaller parts. Added logger module.
This commit is contained in:
152
README
152
README
@@ -1,37 +1,40 @@
|
||||
pyGTKtalog 1.9
|
||||
==============
|
||||
pyGTKtalog
|
||||
==========
|
||||
|
||||
pyGTKtalog is Linux/FreeBSD program for indexing CD/DVD or directories on
|
||||
filesystem. It is similar to gtktalog <http://www.nongnu.org/gtktalog/> or
|
||||
gwhere <http://www.gwhere.org/home.php3>. There is no coincidence in name of
|
||||
filesystem. It is similar to `gtktalog <http://www.nongnu.org/gtktalog/>`_ or
|
||||
`gwhere <http://www.gwhere.org/home.php3>`_. There is no coincidence in name of
|
||||
application, because it's ment to be replacement (in some way) for gtktalog,
|
||||
which seems to be dead project for years.
|
||||
|
||||
FEATURES
|
||||
========
|
||||
Current version is 1.9.
|
||||
|
||||
- scan for files in selected media
|
||||
- get/generate thumbnails from exif and other images
|
||||
- most important exif tags
|
||||
- add/edit description and notes
|
||||
- fetch comments for images made in gThumb <http://gthumb.sourceforge.net>
|
||||
- add/remove unlimited images to any file or directory
|
||||
- tagging files <http://en.wikipedia.org/wiki/Tag_%28metadata%29>
|
||||
- and more :)
|
||||
FEATURES
|
||||
--------
|
||||
|
||||
* scan for files in selected media
|
||||
* get/generate thumbnails from exif and other images
|
||||
* most important exif tags
|
||||
* add/edit description and notes
|
||||
* fetch comments for images made in `gThumb <http://gthumb.sourceforge.net>`_
|
||||
* add/remove unlimited images to any file or directory
|
||||
* `tagging files <http://en.wikipedia.org/wiki/Tag_%28metadata%29>`_
|
||||
* and more :)
|
||||
|
||||
REQUIREMENTS
|
||||
============
|
||||
------------
|
||||
|
||||
pyGTKtalog is written in python with following dependencies:
|
||||
|
||||
- python 2.5 or higher (not tested on python 3000)
|
||||
- pygtk 2.12 or higher <http://www.pygtk.org>
|
||||
- pygtkmvc 1.99 or higher <http://apps.sourceforge.net/trac/pygtkmvc/wiki>
|
||||
- sqlalchemy 0.5.5 or higher <http://www.sqlalchemy.org>
|
||||
* python 2.5 or higher (not tested on python 3000)
|
||||
* `pygtk 2.12 <http://www.pygtk.org>`_ or higher
|
||||
* `pygtkmvc 1.99 <http://apps.sourceforge.net/trac/pygtkmvc/wiki>`_ or higher
|
||||
* `sqlalchemy 0.5.5 <http://www.sqlalchemy.org>`_ or higher
|
||||
|
||||
Optional modules:
|
||||
Optional modules
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
- PIL <http://www.pythonware.com/products/pil/index.htm> for image manipulation
|
||||
* `PIL <http://www.pythonware.com/products/pil/index.htm>`_ for image manipulation
|
||||
|
||||
Additional pyGTKtalog uses EXIF module by Gene Cash (slightly updatetd to EXIF
|
||||
2.2 by me) which is included in sources.
|
||||
@@ -42,17 +45,17 @@ possiblity to run it on other sofisticated unix-like systems (i.e.
|
||||
BeOS/ZETA/Haiku, QNX or MacOSX).
|
||||
|
||||
Programs that are used:
|
||||
- mencoder (provided by mplayer package)
|
||||
- montage, convert from ImageMagick
|
||||
* mencoder (provided by mplayer package)
|
||||
* montage, convert from ImageMagick
|
||||
|
||||
For development process following programs are used:
|
||||
- gettext <http://www.gnu.org/software/gettext/gettext.html>
|
||||
- intltool <http://www.gnome.org/>
|
||||
- nose <http://code.google.com/p/python-nose/>
|
||||
- paver <http://code.google.com/p/paver/>
|
||||
* `gettext <http://www.gnu.org/software/gettext/gettext.html>`_
|
||||
* `intltool <http://www.gnome.org/>`_
|
||||
* `nose <http://code.google.com/p/python-nose/>`_
|
||||
* `paver <http://code.google.com/p/paver/>`_
|
||||
|
||||
INSTALATION
|
||||
===========
|
||||
-----------
|
||||
|
||||
You don't have to install it if you don't want to. You can just change current
|
||||
directory to pyGTKtalog and simply run:
|
||||
@@ -62,16 +65,16 @@ $ paver run
|
||||
That's it. Alternatively, if you like to put it in more system wide place, all
|
||||
you have to do is:
|
||||
|
||||
- put pyGTKtalog directory into your destination of choice (/usr/local/share,
|
||||
#. put pyGTKtalog directory into your destination of choice (/usr/local/share,
|
||||
/opt or ~/ is typical bet)
|
||||
- copy pyGTKtalog shell script to /usr/bin, /usr/local/bin or in
|
||||
#. copy pyGTKtalog shell script to /usr/bin, /usr/local/bin or in
|
||||
other place, where PATH variable is pointing or you feel like.
|
||||
- then modify pyGTKtalog line 6 to match right pygtktalog.py directory
|
||||
#. then modify pyGTKtalog line 6 to match right pygtktalog.py directory
|
||||
|
||||
Then, just run pyGTKtalog script.
|
||||
|
||||
TODO
|
||||
====
|
||||
----
|
||||
|
||||
PyGTKtalog is still under heavy development, however there is small chance to
|
||||
change structure of catalogs (and if it'll change, there will be transparent
|
||||
@@ -80,43 +83,43 @@ function to update DB schema).
|
||||
For version 1.0 there are no features to be done, just bug fixes.
|
||||
|
||||
There are still minor aims for versions 1.x to be done:
|
||||
- consolidate popup-menus with edit menu
|
||||
- add popup menu for directly removing tag from tag cloud
|
||||
- implement advanced search
|
||||
* consolidate popup-menus with edit menu
|
||||
* add popup menu for directly removing tag from tag cloud
|
||||
* implement advanced search
|
||||
|
||||
For version 2.0:
|
||||
- Export/Import
|
||||
- Icon grid in files view
|
||||
- command line support: query, adding media to collection etc
|
||||
- internationalization
|
||||
- export to XLS
|
||||
- user definied group of tags (represented by color in cloud tag)
|
||||
- hiding specified files - configurable, like dot prefixed, cfg and manualy
|
||||
* Export/Import
|
||||
* Icon grid in files view
|
||||
* command line support: query, adding media to collection etc
|
||||
* internationalization
|
||||
* export to XLS
|
||||
* user definied group of tags (represented by color in cloud tag)
|
||||
* hiding specified files - configurable, like dot prefixed, cfg and manualy
|
||||
selected
|
||||
- tests
|
||||
- warning about existing image in media directory
|
||||
* tests
|
||||
* warning about existing image in media directory
|
||||
Removed:
|
||||
- filetypes handling (movies, images, archives, documents etc). Now it have
|
||||
* filetypes handling (movies, images, archives, documents etc). Now it have
|
||||
common, unified external "plugin" system - simple text output from command
|
||||
line programs.
|
||||
- anime/movie
|
||||
- title
|
||||
- alt title
|
||||
- type (anime movie, movie, anime oav, anime tv series, tv series, etc)
|
||||
- cover/images
|
||||
- genre
|
||||
- lang
|
||||
- sub lang
|
||||
- release date (from - to)
|
||||
- anidb link/imdb link
|
||||
Maybe in future versions. Now text file descriptions/notes and tags have to
|
||||
be enough for good and fast information search.
|
||||
* anime/movie
|
||||
* title
|
||||
* alt title
|
||||
* type (anime movie, movie, anime oav, anime tv series, tv series, etc)
|
||||
* cover/images
|
||||
* genre
|
||||
* lang
|
||||
* sub lang
|
||||
* release date (from - to)
|
||||
* anidb link/imdb link
|
||||
Maybe in future versions. Now text file descriptions/notes and tags have to
|
||||
be enough for good and fast information search.
|
||||
|
||||
NOTES
|
||||
=====
|
||||
-----
|
||||
|
||||
Catalog file is plain sqlite database (optionally compressed with bzip2). All
|
||||
images are stored in ~/.pygtktalog/images directory. Names for images are
|
||||
images are stored in ``~/.pygtktalog/images`` directory. Names for images are
|
||||
generated sha512 hash from image file itself. There is small possibility for two
|
||||
identical hash for different image files. However, no images are overwritten.
|
||||
Thumbnail filename for each image is simply concatenation of image filename in
|
||||
@@ -124,32 +127,33 @@ images directory and '_t' string.
|
||||
|
||||
There is also converter from old database to new for internal use only. In
|
||||
public release there will be no other formats so it will be useless, and
|
||||
deleted. There are some issues with converting. All thumbnails will be lost. All
|
||||
images without big image will be lost. There are serious changes with
|
||||
deleted. There are some issues with converting. All thumbnails will be lost.
|
||||
All images without big image will be lost. There are serious changes with
|
||||
application design, and I decided, that is better to keep media unpacked on
|
||||
disk, instead of pack it every time with save and unpack with open methods. New
|
||||
disk, instead of pack it every time with save and unpack with open methods. New
|
||||
design prevent from deleting any file from media directory (placed in
|
||||
~/.pygtktalog/images). Functionality for exporting images and corresponding db
|
||||
file is planned.
|
||||
``~/.pygtktalog/images``). Functionality for exporting images and corresponding
|
||||
db file is planned.
|
||||
|
||||
|
||||
DEVELOPMENT
|
||||
===========
|
||||
-----------
|
||||
|
||||
Several tools has been used to develop pyGTKtalog.
|
||||
|
||||
1. Paver
|
||||
--------
|
||||
Paver
|
||||
^^^^^
|
||||
|
||||
I've choose Paver[1] as make equivalent. Inside main project directory there is
|
||||
pavement.py script, which provides several tasks, that can be helpfull in a work
|
||||
with sources. Paver is also used to generate standard setup.py.
|
||||
I've choose `Paver <http://www.blueskyonmars.com/projects/paver/>`_ as make
|
||||
equivalent. Inside main project directory there is pavement.py script, which
|
||||
provides several tasks, that can be helpfull in a work with sources. Paver is
|
||||
also used to generate standard setup.py.
|
||||
|
||||
2. Nose
|
||||
-------
|
||||
Nose
|
||||
^^^^
|
||||
|
||||
BUGS
|
||||
====
|
||||
----
|
||||
|
||||
All bugs please report to Roman 'gryf' Dobosz <gryf73@gmail.com>
|
||||
All bugs please report to Roman 'gryf' Dobosz <gryf73@gmail.com>.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user