diff --git a/README b/README index d1b26ea..c90d72e 100644 --- a/README +++ b/README @@ -24,29 +24,38 @@ REQUIREMENTS pyGTKtalog is written in python with following dependencies: -- python 2.5 or higher +- python 2.5 or higher (not tested on python 3000) - pygtk 2.12 or higher +- pygtkmvc 1.99 or higher Optional modules: - PIL for image manipulation -Additional pyGTKtalog uses pygtkmvc by Roberto -Cavada and EXIF module by Gene Cash (slightly updatetd to EXIF 2.2 by me) which -are included in sources. +Additional pyGTKtalog uses EXIF module by Gene Cash (slightly updatetd to EXIF +2.2 by me) which is included in sources. pyGTKtalog extensivly uses external programs in unix spirit, however there is small possibility of using it Windows (probably with limitations) and quite big 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 + +For development process following programs are used: +- gettext +- nose +- 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: -./pyGTKtalog +$ paver run That's it. Alternatively, if you like to put it in more system wide place, all you have to do is: @@ -121,44 +130,21 @@ design prevent from deleting any file from media directory (placed in ~/.pygtktalog/images). Functionality for exporting images and corresponding db file is planned. -UPDATE ------- -There can be added images for virtually any item in catalog. Therefore there is -some hazard with image filenames. -After long consideration and experiments I've decided, that images for every -item will have file name as follows: -sha512("filename" + "file size" + "file modification date").hexdigest() +DEVELOPMENT +=========== -for thumbnails: -sha512("filename" + "file size" + "file modification date").hexdigest() + "_t" +Several tools has been used to develop pyGTKtalog. -Why that way? There is plenty ways to achive goal to keep thumbnails/data with -applications, however I wanted to keep all things in one place, just to prevent -mixing this up with existing, system specific (Gnome, KDE, maybe MacOS, or any -other which is capable to run this application) own solution. Another reason -lays on catalogs update mechanizm. Imagine, that you have large collection of -movie clips and want to frequently add and/or delete somethong from that. -Changing file names of virtually all files is rather rare case. However moving -them between directories will be much more frequent scenario. And now, if you -want to update things in catalog, program will just check if there is such -generated image from movie filename, size and dates, and then it will just -assign that image to file in catalog. No need to wase time again for generating -movie shots all over again. - -Of course there are some limits for such approach. There is relatively small -possibility to generate two filenames that are the same in two cases: - -1. There are two different files (movies or images) with the same name, same -size and same timestamp in different directories. This could happen in case of -images that have fixed size (like BMP) and then due to image/thumbnail creating -policy only the first one will be placed in images directory. - -2. Another possibility........ fuck. +1. 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. BUGS ==== -All bugs please report to Roman 'gryf' Dobosz +All bugs please report to Roman 'gryf' Dobosz diff --git a/locale/pygtktalog.pot b/locale/pygtktalog.pot new file mode 100644 index 0000000..ee9c269 --- /dev/null +++ b/locale/pygtktalog.pot @@ -0,0 +1,242 @@ +# +# pygtktalog Language File +# +msgid "" +msgstr "" +"Project-Id-Version: pygtktalog\n" +"POT-Creation-Date: 2009-05-08 22:06:54.825145\n" +"Last-Translator: Roman Dobosz \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: utf-8\n" +"Generated-By: slightly modified generate_pot.py\n" + +#. file 'views/glade/main.glade', line ? +msgid "pyGTKtalog" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "_File" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Import" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Export" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Recent files" +msgstr "" + +#. file 'views/glade/main.glade', line ? +#. file 'views/glade/main.glade', line ? +msgid "_Edit" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "_Catalog" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Add _CD/DVD" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Add _Directory" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Deletes all images from files in current colection" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Delete all images" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Delete all thumbnals" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Save all images..." +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Catalog _statistics" +msgstr "" + +#. file 'views/glade/main.glade', line ? +#. file 'views/glade/main.glade', line ? +msgid "Cancel" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "_View" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Toolbar" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Status bar" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "_Help" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Create new catalog" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Open catalog file" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Save catalog" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Add CD/DVD to catalog" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Add CD" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Add Dir" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Find file" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Quit pyGTKtalog" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Discs" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Tags" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "File info" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Double click to open image" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Images" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "EXIF" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Expand all nodes" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "_Expand all" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Collapse all nodes" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "_Collapse all" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "_Update" +msgstr "" + +#. file 'views/glade/main.glade', line ? +#. file 'views/glade/main.glade', line ? +msgid "_Rename" +msgstr "" + +#. file 'views/glade/main.glade', line ? +#. file 'views/glade/main.glade', line ? +msgid "_Delete" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "_Statistics" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "_Add tag" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Remo_ve tag" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Add _Thumbnail" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Re_move Thumbnail" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "" +"Add images to file. If file have no thumbnail,\n" +"thumbnail from first image will be generated." +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Add _Images" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Rem_ove All Images" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "pyGTKtalog - Image" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "_Add images" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "_Delete images" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Set as _thumbnail" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "_Save images to..." +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "_Remove Thumbnail" +msgstr "" + +#. file 'views/glade/main.glade', line ? +msgid "Delete tag" +msgstr "" + +#. file 'models/main.py', line 11 +msgid "Idle" +msgstr "" diff --git a/pygtktalog/__init__.py b/pygtktalog/__init__.py index e69de29..a528308 100644 --- a/pygtktalog/__init__.py +++ b/pygtktalog/__init__.py @@ -0,0 +1,34 @@ +""" + Project: pyGTKtalog + Description: Initialize for main module - i18n and so. + Type: core + Author: Roman 'gryf' Dobosz, gryf73@gmail.com + Created: 2009-05-05 +""" +import os +import locale +import gettext +import __builtin__ + +import gtk.glade + + +GETTEXT_DOMAIN = 'pygtktalog' +# There should be message catalogs in "locale" directory placed by setup.py +# script. If there is no such directory, let's assume that message catalogs are +# placed in system wide location such as /usr/share/locale by Linux +# distribution package maintainer. +LOCALE_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), + 'locale') + +locale.setlocale(locale.LC_ALL, '') + +for module in gtk.glade, gettext: + if os.path.exists(LOCALE_PATH): + module.bindtextdomain(GETTEXT_DOMAIN, LOCALE_PATH) + else: + module.bindtextdomain(GETTEXT_DOMAIN) + module.textdomain(GETTEXT_DOMAIN) + +# register the gettext function for the whole interpreter as "_" +__builtin__._ = gettext.gettext