1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# ------------------------------------------------------------------------------
# PyRoom - A clone of WriteRoom
# Copyright (c) 2007 Nicolas P. Rougier & NoWhereMan
# Copyright (c) 2008 The Pyroom Team - See AUTHORS file for more information
#
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
# ------------------------------------------------------------------------------
#
# Based on code posted on ubuntu forums by NoWhereMan (www.nowhereland.it)
# (Ubuntu thread was "WriteRoom/Darkroom/?")
#
# ------------------------------------------------------------------------------
import traceback
import sys
import os.path
import gobject
import gtk
import gettext
import getopt
gettext.install('pyroom', 'locale')
from basic_edit import BasicEdit
# Some styles
from styles import styles
if __name__ == '__main__':
style = 'green'
verbose = True
ret = False
files = []
# Get commandline args
try:
args, files = getopt.getopt(sys.argv[1:],'vs', ['style='])
except getopt.GetoptError:
# Print help information
print "Usage: pyroom [-v] [-s] [--style={style name}] file1 file2"
sys.exit(2)
style_true = False
for arg, val in args:
if arg == '-v':
verbose = True
elif arg == '--style':
if val in styles:
style = val
elif arg == '-s':
ret = True
# Create relevant buffers for file and load them
pyroom = BasicEdit(styles[style],verbose, ret)
if len(files):
for filename in files:
buffer = pyroom.new_buffer()
buffer.filename = filename
if os.path.exists(filename):
try:
print "Automatically opened %s" %(filename)
f = open(filename, 'r')
buffer.begin_not_undoable_action()
buffer.set_text(unicode(f.read(), 'utf-8'))
buffer.end_not_undoable_action()
f.close()
except IOError, (errno, strerror):
errortext = '''Unable to open %(filename)s.''' % {'filename': buffer.filename}
if errno == 13:
errortext += ' You do not have permission to open the file.'
buffer.set_text(_(errortext))
if verbose:
print ('''Unable to open %(filename)s. %(traceback)s'''
% {'filename': buffer.filename,
'traceback': traceback.format_exc()})
buffer.filename = FILE_UNNAMED
except:
buffer.set_text(_('Unable to open %s\n'
% buffer.filename))
if verbose:
print ('''Unable to open %(filename)s. %(traceback)s'''
% {'filename': buffer.filename,
'traceback': traceback.format_exc()})
buffer.filename = FILE_UNNAMED
pyroom.set_buffer(0)
pyroom.close_buffer()
gtk.main()
# EOF
|