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:
|
||||
|
||||
- python 2.5 or higher
|
||||
- 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>
|
||||
|
||||
Optional modules:
|
||||
|
||||
- PIL <http://www.pythonware.com/products/pil/index.htm> for image manipulation
|
||||
|
||||
Additional pyGTKtalog uses pygtkmvc <http://pygtkmvc.sourceforge.net> 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 <http://www.gnu.org/software/gettext/gettext.html>
|
||||
- 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:
|
||||
|
||||
./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 <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