/gtk/prep-images

To get this branch, use:
bzr branch http://bzr.ed.am/gtk/prep-images

« back to all changes in this revision

Viewing changes to src/prep-images.in

  • Committer: Tim Marston
  • Date: 2013-07-17 22:57:04 UTC
  • Revision ID: tim@ed.am-20130717225704-590lcki0yvsaud31
added command line support

Show diffs side-by-side

added added

removed removed

1
1
#!/usr/bin/env python
2
2
 
3
 
# add-copyrights-to-images
 
3
# prep-images
4
4
#
5
5
# Copyright (C) 2011 Tim Marston <edam@waxworlds.org>
6
6
#
7
 
# This file is part of add-copyright-to-images (hereafter referred to as "this
8
 
# program").
9
 
# See http://www.waxworlds.org/edam/software/add-copyright-to-images for more
 
7
# This file is part of prep-images (hereafter referred to as "this program").
 
8
# See http://www.waxworlds.org/edam/software/gtk/prep-images for more
10
9
# information.
11
10
#
12
11
# This program is free software: you can redistribute it and/or modify
13
 
# it under the terms of the GNU Lesser General Public License as published
14
 
# by the Free Software Foundation, either version 3 of the License, or
 
12
# it under the terms of the GNU General Public License as published by
 
13
# the Free Software Foundation, either version 3 of the License, or
15
14
# (at your option) any later version.
16
15
#
17
16
# This program is distributed in the hope that it will be useful,
18
17
# but WITHOUT ANY WARRANTY; without even the implied warranty of
19
18
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
 
# GNU Lesser General Public License for more details.
 
19
# GNU General Public License for more details.
21
20
#
22
 
# You should have received a copy of the GNU Lesser General Public License
 
21
# You should have received a copy of the GNU General Public License
23
22
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
24
23
 
25
24
 
26
 
# version @PACKAGE_VERSION@
27
 
 
28
 
 
29
 
import sys
 
25
# @PACKAGE_NAME@ version @PACKAGE_VERSION@
 
26
 
 
27
import sys, os
30
28
from os.path import join, abspath, exists
 
29
import getopt
 
30
 
31
31
 
32
32
# check for a development source directory and use that if it's there
33
 
PACKAGE_DIR = join( abspath( sys.path[ 0 ] ), ".." )
34
 
if exists( join( PACKAGE_DIR, "add_copyright_to_images", "prefs_dialog.py" ) ):
35
 
    print "!!! using development packages !!!"
36
 
    sys.path.insert( 0, PACKAGE_DIR )
 
33
PACKAGE_DIR = join( abspath( sys.path[ 0 ] ), "..", "lib" )
 
34
if exists( join( PACKAGE_DIR, "prep_images", "prefs_dialog.py" ) ):
 
35
        print >> sys.stderr, "!!! using development packages !!!"
 
36
        sys.path.insert( 0, PACKAGE_DIR )
37
37
else:
38
 
    del PACKAGE_DIR
39
 
 
40
 
import pygtk
41
 
pygtk.require( '2.0' );
42
 
import gtk
43
 
from add_copyright_to_images.main_window import *
44
 
 
45
 
# no arguments?
46
 
if( len( sys.argv[ 1: ] ) == 0 ):
47
 
    dialog = gtk.MessageDialog( None, gtk.DIALOG_MODAL, gtk.MESSAGE_INFO, \
48
 
        gtk.BUTTONS_CLOSE, "No images specified" )
49
 
    dialog.format_secondary_text( "You must select some files first!" )
50
 
    dialog.run()
51
 
    dialog.destroy()
52
 
    exit( 1 )
 
38
        del PACKAGE_DIR
 
39
 
 
40
 
 
41
def usage( error = True ):
 
42
        print >> sys.stderr, 'Try "@PACKAGE_NAME@ --help" for help'
 
43
        exit( 1 )
 
44
 
 
45
 
 
46
def help():
 
47
        print "Usage: @PACKAGE_NAME@ [OPTION]... FILE..."
 
48
        print
 
49
        print "Prepare the specified image FILEs for publishing."
 
50
        print
 
51
        print "Options:"
 
52
        print "     --help     display this help and exit"
 
53
        print "     --version  output version information and exit"
 
54
        exit( 0 )
 
55
 
 
56
 
 
57
def version():
 
58
        print "@PACKAGE_NAME@ @PACKAGE_VERSION@"
 
59
        print
 
60
        print "Copyright (C) 2011 to 2013 Tim Marston"
 
61
        print "License GPLv3+: GNU GPL version 3 or later " + \
 
62
            "<http://gnu.org/licenses/gpl.html>"
 
63
        print "This is free software: you are free to change and " + \
 
64
            "redistribute it."
 
65
        print
 
66
        print "For more information, including documentation, see the " +\
 
67
            "project website, at"
 
68
        print "<@PACKAGE_URL@>. Please report bugs to <@PACKAGE_BUGREPORT@>."
 
69
        exit( 0 )
 
70
 
 
71
 
 
72
# handle command line
 
73
try:
 
74
        opts, args = getopt.gnu_getopt(
 
75
                sys.argv[ 1: ], "",
 
76
                [ "help", "version" ] )
 
77
except getopt.GetoptError as e:
 
78
        print str( e )
 
79
        usage()
 
80
 
 
81
# process options
 
82
for opt, args in opts:
 
83
        if opt == "--help":
 
84
                help()
 
85
        elif opt == "--version":
 
86
                version()
 
87
        else:
 
88
                print >> sys.stderr, "unknown option"
 
89
                usage()
 
90
 
 
91
# check for files
 
92
if len( args ) == 0:
 
93
        print >> sys.stderr, "no files specified"
 
94
        usage()
 
95
 
 
96
# try to detect no DISPLAY
 
97
if os.getenv( 'DISPLAY', '' ) == '':
 
98
        print >> sys.stderr, 'could not open display'
 
99
        exit( 1 )
 
100
 
 
101
# we only now import the main window stuff, because it pulls in PyGTK which
 
102
# complains if it can't connect to a display
 
103
from prep_images.main_window import *
53
104
 
54
105
# process each image in turn
55
 
for filename in sys.argv[ 1: ]:
56
 
    MainWindow( filename ).main()
 
106
for filename in args:
 
107
        MainWindow( filename ).main()