示例#1
0
文件: dblp.py 项目: Sonnbc/bibase
def add(tup):
    entries, begin, end = tup
    adapter = Adapter()

    not_implemented_error_count = 0
    error = 0

    #print (begin,end)
    for entry in entries[begin : end]:
        try:
            adapter.insert(entry)
        except cql.apivalues.OperationalError:
           print sys.exc_info()
           print entry
           error += 1

    if not_implemented_error_count + error > 0:
        print begin, end, not_implemented_error_count, error

    adapter.close()
示例#2
0
class Controller:

    def __init__(self):
        self.adapter = Adapter()

    def insert(self, entry):
        self.adapter.insert(entry)

    def get(self, key):
        m = re.search('(\w+)-(\d+)', key)
        if m:
            key = m.groups()[0]
            extra = int(m.groups()[1])
            entry = self.adapter.get(key, extra)
            return [entry] if entry else None

        entries = self.adapter.getmany(key)
        if not entries:
            return None
        if len(entries) is 1:
            entries[0]['extra'] = None
            return [entries[0]]
        return entries