Пример #1
0
    def __init__ (self, asynk_base_dir, user_dir, bbfn):
        logging.debug('Getting started... Reading Config File...')

        self.config = Config(asynk_base_dir, user_dir)
        self.bb     = BBPIMDB(self.config, bbfn)
        ms          = self.bb.get_def_msgstore()
        self.deff   = ms.get_folder(ms.get_def_folder_name())
Пример #2
0
    def reparse(self, bbfn=None):
        if not bbfn:
            bbfn = self.bbdbfn

        self.bb = BBPIMDB(self.config, bbfn)
        ms = self.bb.get_def_msgstore()
        self.deff = ms.get_folder(ms.get_def_folder_name())
Пример #3
0
    def __init__(self, config_fn, state_fn, bbfn):
        logging.debug('Getting started... Reading Config File...')

        self.config = Config(config_fn, state_fn)
        self.bb = BBPIMDB(self.config, bbfn)
        ms = self.bb.get_def_msgstore()
        self.deff = ms.get_folder(ms.get_def_folder_name())
Пример #4
0
    def op_create_store (self):
        if self.get_db2() != None or not (self.get_db1() in ['bb']):
            raise AsynkParserError('--create-store only supported for bb now')

        if not self.get_store_id('bb'):
            raise AsynkParserError('--create-store needs --store option '
                                   'with value with filename of BBDB file '
                                   'to be created.')

        BBPIMDB.new_store(self.get_store_id('bb'))
Пример #5
0
    def op_create_store(self):
        if self.get_db2() != None or not (self.get_db1() in ['bb']):
            raise AsynkParserError('--create-store only supported for bb now')

        if not self.get_store_id('bb'):
            raise AsynkParserError('--create-store needs --store option '
                                   'with value with filename of BBDB file '
                                   'to be created.')

        BBPIMDB.new_store(self.get_store_id('bb'))
Пример #6
0
    def op_create_store (self):
        if len(self.get_colls()) != 1:
            raise AsynkParserError('--create-store takes exactly one db')

        coll = self.get_colls()[0]
        if 'bb'!= coll.get_dbid():
            raise AsynkParserError('--create-store only supported for bb now')

        if not coll.get_stid():
            raise AsynkParserError('--create-store needs --store option '
                                   'with value with filename of BBDB file '
                                   'to be created.')

        BBPIMDB.new_store(coll.get_stid())
Пример #7
0
    def op_create_store (self):
        if len(self.get_colls()) != 1:
            raise AsynkParserError('--create-store takes exactly one db')

        coll = self.get_colls()[0]
        if 'bb'!= coll.get_dbid():
            raise AsynkParserError('--create-store only supported for bb now')

        if not coll.get_stid():
            raise AsynkParserError('--create-store needs --store option '
                                   'with value with filename of BBDB file '
                                   'to be created.')

        BBPIMDB.new_store(coll.get_stid())
Пример #8
0
    def __init__ (self, config_fn, state_fn, bbfn):
        logging.debug('Getting started... Reading Config File...')

        self.config = Config(config_fn, state_fn)
        self.bb     = BBPIMDB(self.config, bbfn)
        ms          = self.bb.get_def_msgstore()
        self.deff   = ms.get_folder(ms.get_def_folder_name())
Пример #9
0
    def __init__(self, asynk_base_dir, user_dir, bbfn):
        logging.debug("Getting started... Reading Config File...")

        self.config = Config(asynk_base_dir, user_dir)
        self.bb = BBPIMDB(self.config, bbfn)
        ms = self.bb.get_def_msgstore()
        self.deff = ms.get_folder(ms.get_def_folder_name())
Пример #10
0
    def reparse (self, bbfn=None):
        if not bbfn:
            bbfn = self.bbdbfn

        self.bb = BBPIMDB(self.config, bbfn)
        ms   = self.bb.get_def_msgstore()
        self.deff = ms.get_folder(ms.get_def_folder_name())
Пример #11
0
    def login(self):
        if self.get_stid() is not None:
            bbfn = self.get_stid()
        else:
            bbfn = '~/.bbdb'

        if not bbfn:
            raise AsynkCollectionError('Need BBDB Store to be specified')

        bb = BBPIMDB(self.config, bbfn)
        return self.set_db(bb)
Пример #12
0
class TestBBContact:
    def __init__(self, config_fn, state_fn, bbfn):
        logging.debug('Getting started... Reading Config File...')

        self.config = Config(config_fn, state_fn)
        self.bb = BBPIMDB(self.config, bbfn)
        ms = self.bb.get_def_msgstore()
        self.deff = ms.get_folder(ms.get_def_folder_name())

    def print_contacts(self, cnt=0, name=None):
        self.deff.print_contacts(cnt=cnt, name=name)

    def write_to_file(self):
        self.deff.save()
Пример #13
0
class TestBBContact:
    def __init__ (self, config_fn, state_fn, bbfn):
        logging.debug('Getting started... Reading Config File...')

        self.config = Config(config_fn, state_fn)
        self.bb     = BBPIMDB(self.config, bbfn)
        ms          = self.bb.get_def_msgstore()
        self.deff   = ms.get_folder(ms.get_def_folder_name())

    def print_contacts (self, cnt=0, name=None):
        self.deff.print_contacts(cnt=cnt, name=name)

    def write_to_file (self):
        self.deff.save()
Пример #14
0
class TestBBDB(unittest.TestCase):
    def setUp (self):
        self.config = config
        self.bbdbfn = bbfn
        self.bb = BBPIMDB(self.config, bbfn)

    def test_parse (self):
        self.bb = BBPIMDB(self.config, bbfn)

    def test_ver (self):
        ver_check = self.get_ver_from_filename()
        # print "Ver_check: ", ver_check
        if ver_check:
            assert(ver_check == self.bb.get_def_msgstore().get_file_format())

    def get_ver_from_filename (self):
        v = re.search('\.v(\d+)\.', self.bbdbfn)
        return v.group(1) if v else None
Пример #15
0
class TestBBDB(unittest.TestCase):
    def setUp(self):
        self.config = config
        self.bbdbfn = bbfn
        self.bb = BBPIMDB(self.config, bbfn)

    def test_parse(self):
        self.bb = BBPIMDB(self.config, bbfn)

    def test_ver(self):
        ver_check = self.get_ver_from_filename()
        # print "Ver_check: ", ver_check
        if ver_check:
            assert (ver_check == self.bb.get_def_msgstore().get_file_format())

    def get_ver_from_filename(self):
        v = re.search('\.v(\d+)\.', self.bbdbfn)
        return v.group(1) if v else None
Пример #16
0
    def login_bb (self):
        pname = self.get_name()
        conf = self.get_config()

        if pname:
            db1 = conf.get_profile_db1(pname)
            if db1 == 'bb':
                bbfn = conf.get_stid1(pname)
            else:
                bbfn = conf.get_stid2(pname)

        t = self.get_store_id('bb')
        if t:
            bbfn = t

        if not bbfn:
            raise AsynkError('No BBDB Store provided. Unable to initialize.')

        bb   = BBPIMDB(conf, bbfn)
        return bb
Пример #17
0
class TestBBDBWrite(unittest.TestCase):
    def setUp(self):
        self.config = config
        self.bbdbfn = os.path.join(CUR_DIR, "temp.bbdb")
        self.reparse(self.bbdbfn)

    def tearDown(self):
        os.remove(self.bbdbfn)
        pass

    def reparse(self, bbfn=None):
        if not bbfn:
            bbfn = self.bbdbfn

        self.bb = BBPIMDB(self.config, bbfn)
        ms = self.bb.get_def_msgstore()
        self.deff = ms.get_folder(ms.get_def_folder_name())

    def test_basic(self):
        con = BBContact(self.deff)
        con.set_firstname(
            'Test Basic Sri Venkata Sri Rama Subramanya Anjeneya Annapurna Sharma'
        )
        con.set_prefix('Mr.')
        con.set_nickname('Karra')
        con.set_gender('Male')
        con.add_phone_mob(('Mobile', '+91 90084 88997'))
        con.add_notes('And so it goes...')

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)

        cons = self.deff.find_contacts_by_name(name='Venkata')
        assert (len(cons) == 1)
        con = cons[0]
        assert (con.get_prefix() == "Mr.")
        assert (con.get_gender() == "Male")

    def test_nonexistent_contact(self):
        cons = self.deff.find_contacts_by_name(name='Goof Ball')
        assert (len(cons) == 0)

    def test_unicode(self):
        con = BBContact(self.deff)
        con.set_firstname(u'Héctor')
        con.set_lastname(r'Tarrido-Picart')

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)

    def test_quotes_1(self):
        con = BBContact(self.deff)
        con.set_firstname(r'Test Quotes 1')
        con.set_lastname(r'"Karra"')

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)

    def test_quotes_2(self):
        con = BBContact(self.deff)
        con.set_firstname('Test Quotes 2')
        con.set_lastname("Ka\\\nrra")

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)

    def test_quotes_3(self):
        con = BBContact(self.deff)
        con.set_firstname('Test Quotes 3')
        con.set_lastname("\"Karra")

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)

    def test_quotes_4(self):
        con = BBContact(self.deff)
        con.set_firstname('Test Quotes 4')
        con.set_lastname("\\Karra")

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)

    def test_quotes_terminating_backslash(self):
        con = BBContact(self.deff)
        con.set_firstname('Test Quotes TB')
        con.set_lastname('Karra\\')

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)
Пример #18
0
class TestBBDBWrite(unittest.TestCase):
    def setUp (self):
        self.config = config
        self.bbdbfn = os.path.join(CUR_DIR, "temp.bbdb")
        self.reparse(self.bbdbfn)

    def tearDown (self):
        os.remove(self.bbdbfn)
        pass
        
    def reparse (self, bbfn=None):
        if not bbfn:
            bbfn = self.bbdbfn

        self.bb = BBPIMDB(self.config, bbfn)
        ms   = self.bb.get_def_msgstore()
        self.deff = ms.get_folder(ms.get_def_folder_name())

    def test_basic (self):
        con = BBContact(self.deff)
        con.set_firstname('Test Basic Sri Venkata Sri Rama Subramanya Anjeneya Annapurna Sharma')
        con.set_prefix('Mr.')
        con.set_nickname('Karra')
        con.set_gender('Male')
        con.add_phone_mob(('Mobile', '+91 90084 88997'))
        con.add_notes('And so it goes...')

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)

        cons = self.deff.find_contacts_by_name(name='Venkata')
        assert(len(cons) == 1)
        con = cons[0]
        assert(con.get_prefix() == "Mr.")
        assert(con.get_gender() == "Male")

    def test_nonexistent_contact (self):
        cons = self.deff.find_contacts_by_name(name='Goof Ball')
        assert(len(cons) == 0)

    def test_unicode (self):
        con = BBContact(self.deff)
        con.set_firstname(u'Héctor')
        con.set_lastname(r'Tarrido-Picart')

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)

    def test_quotes_1 (self):
        con = BBContact(self.deff)
        con.set_firstname(r'Test Quotes 1')
        con.set_lastname(r'"Karra"')

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)

    def test_quotes_2 (self):
        con = BBContact(self.deff)
        con.set_firstname('Test Quotes 2')
        con.set_lastname("Ka\\\nrra")

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)

    def test_quotes_3 (self):
        con = BBContact(self.deff)
        con.set_firstname('Test Quotes 3')
        con.set_lastname("\"Karra")

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)

    def test_quotes_4 (self):
        con = BBContact(self.deff)
        con.set_firstname('Test Quotes 4')
        con.set_lastname("\\Karra")

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)

    def test_quotes_terminating_backslash (self):
        con = BBContact(self.deff)
        con.set_firstname('Test Quotes TB')
        con.set_lastname('Karra\\')

        self.deff.add_contact(con)
        self.deff.save()
        self.reparse(self.bbdbfn)
Пример #19
0
 def test_parse (self):
     self.bb = BBPIMDB(self.config, bbfn)
Пример #20
0
 def setUp (self):
     self.config = config
     self.bbdbfn = bbfn
     self.bb = BBPIMDB(self.config, bbfn)
Пример #21
0
 def test_parse(self):
     self.bb = BBPIMDB(self.config, bbfn)
Пример #22
0
 def setUp(self):
     self.config = config
     self.bbdbfn = bbfn
     self.bb = BBPIMDB(self.config, bbfn)