josh-gmail-backup 0.104
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/gmail-backup +6 -0
- data/bin/gmail-backup-gui +6 -0
- data/gmail-backup-gui.pyo +0 -0
- data/gmail-backup-gui.sh +2 -0
- data/gmail-backup.gemspec +36 -0
- data/gmail-backup.pyo +0 -0
- data/gmail-backup.sh +2 -0
- data/gmb.gif +0 -0
- data/gmb.ico +0 -0
- data/gmb.pyo +0 -0
- data/svc/LICENSE.TXT +12 -0
- data/svc/__init__.py +0 -0
- data/svc/egg.py +166 -0
- data/svc/map.py +123 -0
- data/svc/osutils.py +67 -0
- data/svc/registry.py +171 -0
- data/svc/retrans.py +225 -0
- data/svc/scripting/__init__.py +1461 -0
- data/svc/scripting/conversions.py +157 -0
- data/svc/scripting/externals.py +580 -0
- data/svc/scripting/extractors.py +361 -0
- data/svc/scripting/help.py +173 -0
- data/svc/template.py +76 -0
- data/svc/utils.py +261 -0
- metadata +77 -0
@@ -0,0 +1,157 @@
|
|
1
|
+
# Copyright (C) 2008 Jan Svec and Filip Jurcicek
|
2
|
+
#
|
3
|
+
# YOU USE THIS TOOL ON YOUR OWN RISK!
|
4
|
+
#
|
5
|
+
# email: info@gmail-backup.com
|
6
|
+
#
|
7
|
+
#
|
8
|
+
# Disclaimer of Warranty
|
9
|
+
# ----------------------
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, licensor provides
|
12
|
+
# this tool (and each contributor provides its contributions) on an "AS IS"
|
13
|
+
# BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
14
|
+
# implied, including, without limitation, any warranties or conditions of
|
15
|
+
# TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR
|
16
|
+
# PURPOSE. You are solely responsible for determining the appropriateness of
|
17
|
+
# using this work and assume any risks associated with your exercise of
|
18
|
+
# permissions under this license.
|
19
|
+
|
20
|
+
def Flag(arg):
|
21
|
+
"""Flag conversion function
|
22
|
+
"""
|
23
|
+
argl = arg.lower()
|
24
|
+
if argl in ['1', 'on', 'true']:
|
25
|
+
return True
|
26
|
+
elif argl in ['0', 'off', 'false']:
|
27
|
+
return False
|
28
|
+
else:
|
29
|
+
raise ValueError("Not boolean argument: %r" % argl)
|
30
|
+
|
31
|
+
Bool = Flag
|
32
|
+
|
33
|
+
def Integer(arg):
|
34
|
+
"""Integer conversion function
|
35
|
+
|
36
|
+
:Parameters:
|
37
|
+
- `arg`: string to convert
|
38
|
+
|
39
|
+
:Returns: converted object
|
40
|
+
:RType: int
|
41
|
+
"""
|
42
|
+
return int(arg)
|
43
|
+
|
44
|
+
def Float(arg):
|
45
|
+
"""Float conversion function
|
46
|
+
|
47
|
+
:Parameters:
|
48
|
+
- `arg`: string to convert
|
49
|
+
|
50
|
+
:Returns: converted object
|
51
|
+
:RType: float
|
52
|
+
"""
|
53
|
+
return float(arg)
|
54
|
+
|
55
|
+
def String(arg):
|
56
|
+
"""String conversion function (ie. no conversion)
|
57
|
+
|
58
|
+
:Parameters:
|
59
|
+
- `arg`: string to convert
|
60
|
+
|
61
|
+
:Returns: converted object
|
62
|
+
:RType: str
|
63
|
+
"""
|
64
|
+
return arg
|
65
|
+
|
66
|
+
def ListOf(arg, type, separator=','):
|
67
|
+
"""List conversion function
|
68
|
+
|
69
|
+
String ``arg`` is splited by ``separator``. On each resulting item is
|
70
|
+
applied conversion function ``type``.
|
71
|
+
|
72
|
+
:Parameters:
|
73
|
+
- `arg`: string to convert
|
74
|
+
- `type`: type of each item in list
|
75
|
+
- `separator`: separator of items
|
76
|
+
:Returns: converted objects
|
77
|
+
:RType: list
|
78
|
+
"""
|
79
|
+
arg = arg.split(separator)
|
80
|
+
return [type(i) for i in arg]
|
81
|
+
|
82
|
+
def DictOf(d, template, separators=':,'):
|
83
|
+
"""Dictionary conversion function
|
84
|
+
|
85
|
+
Converts string of key:value pairs into dictionary. Values of dictionary
|
86
|
+
are converted using conversion functions in ``template``.
|
87
|
+
|
88
|
+
:Parameters:
|
89
|
+
- `template`: dictionary describing resulting dictionary
|
90
|
+
- `separators`: 2-char string, 1st char specifies separator between
|
91
|
+
keys and values, 2nd char is separator between keys:values pairs
|
92
|
+
:Returns: converted dictionary corresponding to ``template``
|
93
|
+
:RType: dict
|
94
|
+
"""
|
95
|
+
sep_key, sep_item = separators
|
96
|
+
d = [tuple(i.split(sep_key)) for i in d.split(sep_item)]
|
97
|
+
d = dict(d)
|
98
|
+
ret = {}
|
99
|
+
for key, val in d.iteritems():
|
100
|
+
try:
|
101
|
+
conversion = template[key]
|
102
|
+
except KeyError:
|
103
|
+
raise ValueError, 'Unknown key %r' % key
|
104
|
+
ret[key] = conversion(val)
|
105
|
+
return ret
|
106
|
+
|
107
|
+
def FileInput(f, mode='', type=file):
|
108
|
+
"""Input file conversion function
|
109
|
+
|
110
|
+
This function opens file with name ``f`` for reading. Additional file modes
|
111
|
+
can be specified using ``mode`` parameter.
|
112
|
+
|
113
|
+
:Parameters:
|
114
|
+
- `f`: File name (option value)
|
115
|
+
- `mode`: Additional file mode (eg. ``'b'`` for binary access). ``'r'``
|
116
|
+
is automatically added to this mode.
|
117
|
+
- `type`: Type of opened file. You can for example use another file
|
118
|
+
type as StringIO.
|
119
|
+
|
120
|
+
:Returns: Created file object
|
121
|
+
:RType: file
|
122
|
+
"""
|
123
|
+
mode = 'r' + mode
|
124
|
+
return type(f, mode)
|
125
|
+
|
126
|
+
def FileOutput(f, mode='', type=file):
|
127
|
+
"""Output file conversion function
|
128
|
+
|
129
|
+
This function opens file with name ``f`` for writing. Additional file modes
|
130
|
+
can be specified using ``mode`` parameter. It is useful for writing return
|
131
|
+
values of main function.
|
132
|
+
|
133
|
+
:Parameters:
|
134
|
+
- `f`: File name (option value)
|
135
|
+
- `mode`: Additional file mode (eg. ``'b'`` for binary access). ``'w'``
|
136
|
+
is automatically added to this mode.
|
137
|
+
- `type`: Type of opened file. You can for example use another file
|
138
|
+
type as StringIO.
|
139
|
+
|
140
|
+
:Returns: Created file object
|
141
|
+
:RType: file
|
142
|
+
"""
|
143
|
+
mode = 'w' + mode
|
144
|
+
return type(f, mode)
|
145
|
+
|
146
|
+
def ScriptInput(f, mode='', type=file):
|
147
|
+
if f == '-':
|
148
|
+
return sys.stdin
|
149
|
+
else:
|
150
|
+
return FileInput(f, mode, type)
|
151
|
+
|
152
|
+
def ScriptOutput(f, mode='', type=file):
|
153
|
+
if f == '-':
|
154
|
+
return sys.stdout
|
155
|
+
else:
|
156
|
+
return FileOutput(f, mode, type)
|
157
|
+
|