mirror of
https://github.com/gryf/pygtktalog.git
synced 2025-12-17 11:30:19 +01:00
Added forgotten pot file.
Added i18n into package init. Made some changes in README file.
This commit is contained in:
60
README
60
README
@@ -24,29 +24,38 @@ REQUIREMENTS
|
|||||||
|
|
||||||
pyGTKtalog is written in python with following dependencies:
|
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 <http://www.pygtk.org>
|
- pygtk 2.12 or higher <http://www.pygtk.org>
|
||||||
|
- pygtkmvc 1.99 or higher <http://apps.sourceforge.net/trac/pygtkmvc/wiki>
|
||||||
|
|
||||||
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 pygtkmvc <http://pygtkmvc.sourceforge.net> by Roberto
|
Additional pyGTKtalog uses EXIF module by Gene Cash (slightly updatetd to EXIF
|
||||||
Cavada and EXIF module by Gene Cash (slightly updatetd to EXIF 2.2 by me) which
|
2.2 by me) which is included in sources.
|
||||||
are included in sources.
|
|
||||||
|
|
||||||
pyGTKtalog extensivly uses external programs in unix spirit, however there is
|
pyGTKtalog extensivly uses external programs in unix spirit, however there is
|
||||||
small possibility of using it Windows (probably with limitations) and quite big
|
small possibility of using it Windows (probably with limitations) and quite big
|
||||||
possiblity to run it on other sofisticated unix-like systems (i.e.
|
possiblity to run it on other sofisticated unix-like systems (i.e.
|
||||||
BeOS/ZETA/Haiku, QNX or MacOSX).
|
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 <http://www.gnu.org/software/gettext/gettext.html>
|
||||||
|
- nose <http://code.google.com/p/python-nose/>
|
||||||
|
- paver <http://code.google.com/p/paver/>
|
||||||
|
|
||||||
INSTALATION
|
INSTALATION
|
||||||
===========
|
===========
|
||||||
|
|
||||||
You don't have to install it if you don't want to. You can just change current
|
You don't have to install it if you don't want to. You can just change current
|
||||||
directory to pyGTKtalog and simply run:
|
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
|
That's it. Alternatively, if you like to put it in more system wide place, all
|
||||||
you have to do is:
|
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
|
~/.pygtktalog/images). Functionality for exporting images and corresponding db
|
||||||
file is planned.
|
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:
|
Several tools has been used to develop pyGTKtalog.
|
||||||
sha512("filename" + "file size" + "file modification date").hexdigest() + "_t"
|
|
||||||
|
|
||||||
Why that way? There is plenty ways to achive goal to keep thumbnails/data with
|
1. Paver
|
||||||
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.
|
|
||||||
|
|
||||||
|
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
|
BUGS
|
||||||
====
|
====
|
||||||
|
|
||||||
All bugs please report to Roman 'gryf' Dobosz <roman.dobosz@gmail.com>
|
All bugs please report to Roman 'gryf' Dobosz <gryf73@gmail.com>
|
||||||
|
|
||||||
|
|||||||
242
locale/pygtktalog.pot
Normal file
242
locale/pygtktalog.pot
Normal file
@@ -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 <gryf73@gmail.com>\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 ""
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user