本文整理汇总了Python中storage.Storage类的典型用法代码示例。如果您正苦于以下问题:Python Storage类的具体用法?Python Storage怎么用?Python Storage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Storage类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: add
def add(self, item):
bookmark = self.find(item)
if not bookmark:
Storage.add(self, item)
self.save()
示例2: rooms_occupied_by
def rooms_occupied_by(self, people):
s = Storage(self.name, self.token, True)
room_numbers, rooms, person_names, persons, current_timestamp = s.get_stats()
log = s.get_log()
people_wanted = { (t[1]+name):True for t, name in people }
rooms = {}
result = {}
for event in log:
if not event.who in people_wanted or event.room == -1:
continue
if event.action == 'A':
if event.room in rooms:
people_preset = rooms[event.room]
else:
people_present = {}
rooms[event.room] = people_present
people_present[event.who] = True
if people_present == people_wanted:
result[event.room] = True
elif event.action == 'L':
if event.who in rooms[event.room]:
rooms[event.room].pop(event.who)
if len(result) == 0:
return
result = [e for e in result.keys()]
result.sort()
result2 = [str(e) for e in result]
print(','.join(result2))
示例3: read_config
def read_config(config_file):
'''Reads the ~/.goobookrc and ~/.netrc.
returns the configuration as a dictionary.
'''
config = Storage({ # Default values
'email': '',
'password': '',
'max_results': '9999',
'cache_filename': '~/.goobook_cache',
'cache_expiry_hours': '24',
})
config_file = os.path.expanduser(config_file)
if os.path.lexists(config_file) or os.path.lexists(config_file + '.gpg'):
try:
parser = ConfigParser.SafeConfigParser()
if os.path.lexists(config_file):
log.info('Reading config: %s', config_file)
f = open(config_file)
else:
log.info('Reading config: %s', config_file + '.gpg')
sp = subprocess.Popen(['gpg', '--no-tty', '-q', '-d', config_file + ".gpg"], stdout=subprocess.PIPE)
f = sp.stdout
parser.readfp(f)
config.update(dict(parser.items('DEFAULT', raw=True)))
except (IOError, ConfigParser.ParsingError), e:
print >> sys.stderr, "Failed to read configuration %s\n%s" % (config_file, e)
sys.exit(1)
示例4: total_time_spent_by
def total_time_spent_by(self, who, is_employee):
who = 'E' + who if is_employee else 'G' + who
s = Storage(self.name, self.token, True, True)
if s.error:
print(0)
return
s.verify_log()
room_numbers, rooms, person_names, persons, current_timestamp = s.get_stats()
if not who in person_names:
print(0)
return
person = person_names[who]
if person.is_employee != is_employee:
libgeneric.print_error_and_exit("invalid")
total_time = person.time_in_gallery
if person.gallery_timestamp >= 0:
total_time += (current_timestamp - person.gallery_timestamp)
print(total_time)
示例5: rooms_entered_by
def rooms_entered_by(self, who, is_employee):
who = 'E' + who if is_employee else 'G' + who
s = Storage(self.name, self.token, True)
room_numbers, rooms, person_names, persons, _ = s.get_stats()
log = s.get_log()
print(','.join([str(e.room) for e in log if e.who == who and e.action == 'A' and e.room != -1 ]))
示例6: state
def state(self):
s = Storage(self.name, self.token, True)
s.verify_log()
room_numbers, rooms, person_names, persons, _ = s.get_stats()
if persons:
res = [p.name[1:] for p in persons if p.gallery_timestamp >= 0 and p.is_employee]
res.sort()
print(','.join(res))
res = [p.name[1:] for p in persons if p.gallery_timestamp >= 0 and p.is_employee == False]
res.sort()
print(','.join(res))
else:
print()
room_dir = {}
for room in rooms:
room_dir[room.number] = []
for person in persons:
if person.room >= 0:
room_dir[rooms[person.room].number].append(person.name[1:])
rooms_and_attendees = []
for number, people in room_dir.items():
people.sort()
rooms_and_attendees.append( (number, ','.join(people)) )
rooms_and_attendees.sort(key=lambda e : e[0])
for rooms in rooms_and_attendees:
if rooms[1] != '':
print(str(rooms[0]) + ": " + rooms[1])
示例7: __init__
def __init__(self, section, cfgfile="tor2web.conf"):
Storage.__init__(self)
self._cfgfile = cfgfile
self._cfgparser = ConfigParser.ConfigParser()
self._cfgparser.read([self._cfgfile])
self._section = section
示例8: wrapper
def wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
except Exception, e:
logging.error("Error: %s : %s", func.__name__, str(e))
if not hasattr(e, 'errorCode'):
out.failureMessage("Sorry, operation has failed!!!.")
tools.exitErr()
errorCode = int(e.errorCode)
# auth-token error, re-auth
if errorCode == 9:
storage = Storage()
storage.removeUser()
GeekNote()
return func(*args, **kwargs)
elif errorCode == 3:
out.failureMessage("Sorry, you do not have permissions "
"to do this operation.")
# Rate limited
# Patched because otherwise if you get rate limited you still keep
# hammering the server on scripts
elif errorCode == 19:
print("\nRate Limit Hit: Please wait %s seconds before continuing" %
str(e.rateLimitDuration))
tools.exitErr()
else:
return False
tools.exitErr()
示例9: textToENML
def textToENML(content, raise_ex=False, format='markdown'):
"""
Create an ENML format of note.
"""
if not isinstance(content, str):
content = ""
try:
content = unicode(content, "utf-8")
# add 2 space before new line in paragraph for creating br tags
content = re.sub(r'([^\r\n])([\r\n])([^\r\n])', r'\1 \n\3', content)
if format=='markdown':
storage = Storage()
extras = storage.getUserprop('markdown2_extras')
#contentHTML = markdown.markdown(content).encode("utf-8")
contentHTML = markdown.markdown(
content, extras=extras).encode("utf-8")
# Non-Pretty HTML output
contentHTML = str(BeautifulSoup(contentHTML, 'html.parser'))
else:
contentHTML = Editor.HTMLEscape(content)
return Editor.wrapENML(contentHTML)
except:
if raise_ex:
raise Exception("Error while parsing text to html."
" Content must be an UTF-8 encode.")
logging.error("Error while parsing text to html. "
"Content must be an UTF-8 encode.")
out.failureMessage("Error while parsing text to html. "
"Content must be an UTF-8 encode.")
return tools.exitErr()
示例10: parse_trees
def parse_trees(e, otus):
"e is a nexml document parsed by etree"
from ivy.tree import Node
#from tree import Node
v = []
for tb in e.findall(NEXML+"trees"):
for te in tb.findall(NEXML+"tree"):
t = Storage()
t.attrib = Storage(te.attrib)
t.nodes = {}
for n in te.findall(NEXML+"node"):
node = Node()
if n.attrib.get("otu"):
node.isleaf = True
node.otu = otus[n.attrib["otu"]]
node.label = node.otu.label
t.nodes[n.attrib["id"]] = node
for edge in te.findall(NEXML+"edge"):
d = edge.attrib
n = t.nodes[d["target"]]
p = t.nodes[d["source"]]
length = d.get("length")
if length:
n.length = float(length)
p.add_child(n)
r = [ n for n in t.nodes.values() if not n.parent ]
assert len(r)==1
r = r[0]
r.isroot = True
for i, n in enumerate(r): n.id = i+1
t.root = r
v.append(t)
return v
示例11: EvernoteController
class EvernoteController(object):
def __init__(self, token, isSpecialToken = False, sandbox = False, isInternational = False, notebooks = None):
self.token = token
if sandbox:
self.client = EvernoteClient(token=self.token)
elif isInternational:
self.client = EvernoteClient(token=self.token, service_host='www.evernote.com')
else:
self.client = EvernoteClient(token=self.token, service_host='app.yinxiang.com')
self.isSpecialToken = isSpecialToken
self.userStore = self.client.get_user_store()
self.noteStore = self.client.get_note_store()
self.storage = Storage(notebooks)
def get_upload_limit(self):
return {
1: 25 * 1024 * 1024,
3: 100 * 1024 * 1024,
5: 200 * 1024 * 1024,
}.get(self.userStore.getUser().privilege, 0)
def create_notebook(self, noteFullPath):
if self.get(noteFullPath): return False
notebook = Types.Notebook()
notebook.name = noteFullPath
try:
notebook = self.noteStore.createNotebook(notebook)
except EDAMUserException, e:
if e.errorCode == 10 and e.parameter == 'Notebook.name':
self.storage.update(self.token, self.noteStore)
return True
else:
raise e
self.storage.create_notebook(notebook)
return True
示例12: parse_chars
def parse_chars(e, otus):
v = []
for chars in e.findall(NEXML+"characters"):
c = Storage(chars.attrib)
c.states = parse_states(chars)
c.meta = Storage()
for meta in chars.findall(NEXML+"meta"):
a = meta.attrib
if a.get("content"):
value = META_DATATYPE[a["datatype"]](a["content"])
c.meta[a["property"]] = value
c.matrices = []
for matrix in chars.findall(NEXML+"matrix"):
m = Storage()
m.rows = []
for row in matrix.findall(NEXML+"row"):
r = Storage(row.attrib)
r.otu = otus[r.otu]
s = row.findall(NEXML+"seq")[0].text
substrs = []
for ss in AMBIG_RE.split(s):
if ss.startswith("{"):
key = frozenset(ss[1:-1])
val = c.states.states2symb.get(key)
if key and not val:
sys.stderr.write("missing ambig symbol for %s\n" %
"".join(sorted(key)))
ss = val or "?"
substrs.append(ss)
s = "".join(substrs)
r.seq = s
m.rows.append(r)
c.matrices.append(m)
v.append(c)
return v
示例13: wrapper
def wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
except Exception, e:
logging.error("Error: %s : %s", func.__name__, str(e))
if not hasattr(e, 'errorCode'):
out.failureMessage("Sorry, operation has failed!!!.")
tools.exit()
errorCode = int(e.errorCode)
# auth-token error, re-auth
if errorCode == 9:
storage = Storage()
storage.removeUser()
GeekNote()
return func(*args, **kwargs)
elif errorCode == 3:
out.failureMessage("Sorry, you do not have permissions to do this operation.")
else:
return False
tools.exit()
示例14: edit
def edit(self):
"""
Call the system editor, that types as a default in the system.
Editing goes in markdown format, and then the markdown
converts into HTML, before uploading to Evernote.
"""
# Try to find default editor in the system.
storage = Storage()
editor = storage.getUserprop('editor')
if not editor:
editor = os.environ.get("editor")
if not editor:
editor = os.environ.get("EDITOR")
if not editor:
# If default editor is not finded, then use nano as a default.
if sys.platform == 'win32':
editor = config.DEF_WIN_EDITOR
else:
editor = config.DEF_UNIX_EDITOR
# Make a system call to open file for editing.
logging.debug("launch system editor: %s %s" % (editor, self.tempfile))
out.preloader.stop()
os.system(editor + " " + self.tempfile)
out.preloader.launch()
newContent = open(self.tempfile, 'r').read()
return newContent
示例15: doit
def doit():
set_logger(get_logfile_logger())
my_remote_callbacks = MyRemoteCallbacks()
set_remote_callbacks(my_remote_callbacks)
environment = Environment(True, ProbeMode_STANDARD_WRITE_MOCKUP if save_mockup else ProbeMode_STANDARD, TargetMode_DIRECT)
if save_mockup:
environment.set_mockup_filename("mockup.xml")
storage = Storage(environment)
try:
storage.probe()
except Exception as exception:
print(exception.what())
exit(1)
print()
probed = storage.get_probed()
print(probed)
if save_devicegraph:
probed.save("devicegraph.xml")