コード例 #1
0
ファイル: atm.py プロジェクト: gregpuzzles1/Sandbox
def createBank(number=0):
    """Saves a bank with the specified number of accounts.
    Used during testing."""
    bank = Bank()
    for i in xrange(number):
        bank.add(SavingsAccount("Name" + str(i), str(1000 + i), 100.00))
    bank.save("bank.dat")
コード例 #2
0
    def fetchBankList(self):
        banks = []
        baseUrl = "http://www.nbcb.com.cn/xyk/thtghd/index%s.shtml"
        for page in range(1, self.getPageRange()):
            url = None
            if page == 1:
                url = baseUrl % ""
            else:
                url = baseUrl % "_" + str(page)

            soup = self.getSoup(url)
            if not soup:
                break

            for a in soup.find("div", class_="newslist").find_all("a",
                                                                  class_=""):
                b = Bank()
                b.url = "http://www.nbcb.com.cn" + a["href"].encode("utf-8")
                title = soup_util.getStrings(a)
                m = re.match(r"\[(.*)\]", title)
                if m:
                    b.city = m.group(1)
                b.title = re.sub(r"\[(.*)\]|【(.*)】", "", title)
                banks.append(b)

        return banks
コード例 #3
0
    def fetchBankList(self):
        banks = []
        baseUrl = "http://www.bankofshanghai.com/servlet/ServletGate?op=Forward&cur_page=MorePage&target=more&systemModule=1104&cid=110404&page=%d&menuId=&navigation=-%20%25D2%25F8%25D0%25D0%25BF%25A8%25D2%25B5%25CE%25F1%25B6%25AF%25CC%25AC"
        for p in range(1, self.getPageRange()):
            url = (
                "http://www.bankofshanghai.com/servlet/ServletGate?op=Forward&cur_page=MorePage&target=more&systemModule=1104&cid=110404&page="
                + str(p)
                + "&menuId=&navigation=-%20%25D2%25F8%25D0%25D0%25BF%25A8%25D2%25B5%25CE%25F1%25B6%25AF%25CC%25AC"
            )
            soup = self.getSoup(url)
            if not soup or self.isSoupEquals(soup, self.prevSoup):
                break

            self.prevSoup = soup
            for td in soup.find_all("td", bgcolor="#F5F5F5", width="71%"):
                b = Bank()
                a = td.find("a")
                if not a:
                    continue

                b.url = "http://www.bankofshanghai.com/" + a["href"].encode("utf-8")
                b.title = a["title"].encode("utf-8")
                banks.append(b)

        return banks
コード例 #4
0
 def test_mixed_addition(self):
     five_bucks: Expression = Money.dollar(5)
     ten_franc: Expression = Money.franc(10)
     bank = Bank()
     bank.add_rate("CHF", "USD", 2)
     result = bank.reduce(five_bucks.plus(ten_franc), "USD")
     self.assertEqual(Money.dollar(10), result)
コード例 #5
0
    def fetchBankList(self):
        banks = [];
        baseUrl = "http://creditcard.pingan.com/cms-tmplt/creditcard/searchPreferentialActivity.do?type=&city=shenzhen&currentPage=%d";
        for page in range(1, self.getPageRange()):
            url = baseUrl % page;
            soup = self.getSoup(url);
            if not soup:
                break;

            lis = soup.find_all("tr", class_="item");
            if len(lis) == 0:
                break;

            for l in lis:
                b = Bank();
                a = l.find("a");
                title = a["title"].encode("utf-8");
                m = re.match(r"\[(.*)\]", title);
                if m:
                    b.city = m.group(1);
                b.title = re.sub(r"【.*】|\[.*\]", "", title);
                b.url = "http://creditcard.pingan.com" + a["href"].encode("utf-8");
                ds = l.contents[-2].string.encode("utf-8");
                b.endDate = date_parser.parseDashLineStyle(ds);
                banks.append(b);
        
        return banks;
コード例 #6
0
ファイル: bank_test.py プロジェクト: blocur/pgmain
    def test_get_account_balance(self):
        bank = Bank()

        account1 = Account('001', 50)
        bank.add_account(account1)

        self.assertEqual(bank.get_account_balance('001'), 50)
コード例 #7
0
	def fetchBankList(self):
		banks = [];
		baseUrls = ["http://xyk.cebbank.com/home/activities/category/a_region_dd/list%d.htm","http://xyk.cebbank.com/home/activities/category/a_life_cycle/list%d.htm",];
		print baseUrls;
		for bu in baseUrls:
			for page in range(1, self.getPageRange()): 
				##url = "http://xyk.cebbank.com/home/activities/category/a_life_cycle/list%d.htm" % page;
				url = bu % page;
				soup = self.getSoup(url);
				if not self.isValidSoup(soup):
					break;

				lis = soup.find("ul", class_="th_list_ul").find_all("div", class_="floatleft");
				for l in lis:
					b = Bank();
					a = l.find("a");
					b.url = "http://xyk.cebbank.com" + a["href"].encode("utf-8");
					title = a.string.encode("utf-8").strip();
					m = re.match(r"(.*?)((.*))", title);
					if m:
						b.title = m.group(1);
						b.city = m.group(2);
					else:
						b.title = title;
					banks.append(b);
		return banks;
コード例 #8
0
class BankTestSuite(unittest.TestCase):
    def setUp(self):
        self.bank = Bank(0.00)

    def test_customer_creation(self):
        customer_1 = Customer('abc')
        assert self.bank.enroll_customer(customer_1, 150.00) == True
        assert self.bank.customers['abc'] == 150.00
        assert self.bank.balance == 150.00

    def test_customer_creation_zero_bal(self):
        customer_1 = Customer('petyr')
        assert self.bank.enroll_customer(customer_1, 000.00) == True
        assert self.bank.balance == 0.00

    def test_customer_creation_negative_bal(self):
        customer_1 = Customer('petyr')
        assert self.bank.enroll_customer(customer_1, -00.01) == False
        assert self.bank.balance == 0.00
        assert self.bank.customers == {}

    def test_customer_multiple_deposits(self):
        customer_1 = Customer('abc')
        customer_2 = Customer('das')
        customer_3 = Customer('jjk')
        assert self.bank.enroll_customer(customer_1, 50.00) == True
        assert self.bank.enroll_customer(customer_2, 50.00) == True
        assert self.bank.enroll_customer(customer_3, 50.00) == True
        assert len(self.bank.customers.keys()) == 3
コード例 #9
0
    def fetchBankList(self):
        prefUrls = [
            "http://creditcard.hxb.com.cn/hotnews/index.jsp?cid=12347700871250001",
            "http://creditcard.hxb.com.cn/hotnews/index.jsp?cid=12347701281290003"
        ]
        banks = []
        for prefUrl in prefUrls:
            for page in range(0, self.getPageRange()):
                url = prefUrl + "&page_count=30&page_start=%d" % (page * 5)
                soup = self.getSoup(url)

                if not self.isValidSoup(soup):
                    break

                lis = soup.find_all("div", id="rm_lcd")
                for l in lis:
                    b = Bank()
                    a = l.find("a")
                    b.url = "http://creditcard.hxb.com.cn/hotnews/" + a[
                        "href"].encode("utf-8")
                    b.title = a["title"].encode("utf-8").strip()
                    h6 = l.find("h6").string
                    if h6 != None:
                        m = re.match("\[.*至(.*)\]", h6.encode("utf-8"))
                        if m != None:
                            b.endDate = date_parser.parseDashLineStyle(
                                m.group(1))
                    banks.append(b)

        return banks
コード例 #10
0
ファイル: test_bank.py プロジェクト: michal93cz/bank
 def setUp(self):
     self.bank_id = 1
     self.newBank = Bank(self.bank_id)
     self.USER_ID = 3
     self.SECOND_USER_ID = 2
     self.PRODUCT_ID = 5
     self.PRODUCT_ID_2 = 7
コード例 #11
0
    def fetchBankList(self):
        banks = []
        #print self.getEndDateByUrl("http://www.abchina.com/cn/CreditCard/Promotions/BusinessActivity/201306/t20130609_352254.htm");
        for page in range(0, self.getPageRange()):
            soup = None
            if page == 0:
                soup = self.getSoup(
                    "http://www.abchina.com/cn/PublicPlate/ABCPromotion/default.htm"
                )
            else:
                soup = self.getSoup(
                    "http://www.abchina.com/cn/PublicPlate/ABCPromotion/default_%d.htm"
                    % (page, ))

            if not self.isValidSoup(soup):
                break

            lis = soup.find_all("li", class_="DotLi100")
            for l in lis:
                b = Bank()
                a = l.find("a")
                b.url = "http://www.abchina.com/cn/PersonalServices/Promotions/" + a[
                    "href"].encode("utf-8")
                b.title = a.string.encode("utf-8")
                b.endDate = self.getEndDateByUrl(b.url)
                banks.append(b)

        return banks
コード例 #12
0
    def fetchBankList(self):
	prefUrls = ["http://creditcard.hxb.com.cn/hotnews/index.jsp?cid=12347700871250001", "http://creditcard.hxb.com.cn/hotnews/index.jsp?cid=12347701281290003"];
        banks = [];
	for prefUrl in prefUrls:
	    for page in range(0, self.getPageRange()): 
		url = prefUrl + "&page_count=30&page_start=%d" % (page*5);
		soup = self.getSoup(url);

                if not self.isValidSoup(soup):
                    break;

		lis = soup.find_all("div", id="rm_lcd");
		for l in lis:
		    b = Bank();
		    a = l.find("a");
		    b.url = "http://creditcard.hxb.com.cn/hotnews/" + a["href"].encode("utf-8");
		    b.title = a["title"].encode("utf-8").strip();
		    h6 = l.find("h6").string;
                    if h6 != None:
                        m = re.match("\[.*至(.*)\]", h6.encode("utf-8"));
                        if m != None:
                            b.endDate = date_parser.parseDashLineStyle(m.group(1));
		    banks.append(b);

	return banks;
コード例 #13
0
    def fetchBankList(self):
        banks = [];
        baseUrl = "http://www.nbcb.com.cn/xyk/thtghd/index%s.shtml";
        for page in range(1, self.getPageRange()):
            url = None;
            if page == 1:
                url = baseUrl % "";
            else:
                url = baseUrl % "_" + str(page);

            soup = self.getSoup(url);
            if not soup:
                break;

            for a in soup.find("div", class_="newslist").find_all("a", class_=""):
                b = Bank();
                b.url = "http://www.nbcb.com.cn" + a["href"].encode("utf-8");
                title = soup_util.getStrings(a);
                m = re.match(r"\[(.*)\]", title);
                if m:
                    b.city = m.group(1);
                b.title = re.sub(r"\[(.*)\]|【(.*)】", "", title);
                banks.append(b);

	return banks;
コード例 #14
0
def test_checking_account():
    bank = Bank()
    checkingAccount = Account(CHECKING)
    bill = Customer("Bill").openAccount(checkingAccount)
    bank.addCustomer(bill)
    checkingAccount.deposit(100.0)
    assert_equals(bank.totalInterestPaid(), 0.1)
コード例 #15
0
def test_checking_account():
    bank = Bank()
    checkingAccount = Account(CHECKING)
    bill = Customer("Bill").openAccount(checkingAccount)
    bank.addCustomer(bill)
    checkingAccount.deposit(100.0)
    assert_equals(bank.totalInterestPaid(), 0.1)
コード例 #16
0
 def test_mixed_addition(self):
     five_bucks = MoneyFactory.dollar(5)
     ten_francs = MoneyFactory.franc(10)
     bank = Bank()
     bank.add_rate('CHF', 'USD', 2)
     result = bank.reduce(five_bucks.plus(ten_francs), 'USD')
     eq_(MoneyFactory.dollar(10), result)
コード例 #17
0
    def createCard(self):
        idCard = input("请输入您的身份证号:")
        #验证是否存在该用户
        bankSys = Bank()

        user = bankSys.usersDict.get(idCard)

        if not user:
            #用户不存在,需要创建用户
            name = input("请输入您的姓名:")
            phone = input("请输入您的手机号:")
            user = User(name, idCard, phone)
            # 存入系统

            bankSys.usersDict[idCard] = user


        #开卡
        #设置密码
        passwd1 = input("请设置密码:")
        #验证密码
        if self.inputPasswd(passwd1):
            print("三次密码验证错误,开卡失败")
            return
        money = float(input("输入预存款:"))
        cardId = self.getCardId()
        card = Card(cardId,passwd1,money)
        user.cardsDict[cardId] = card

        print("开卡成功!请牢记卡号:%s"%(cardId))
コード例 #18
0
def test_transfer():
    """Test transfer method in Account class."""
    p1 = Person('Jack', 'Jackson', 19)
    p2 = Person('Anna', 'Dark', 194)
    p3 = Person('Igor', 'Smirnov', 33)
    p4 = Person('Nana', 'Banana', 44)
    b1 = Bank('NotSwedBank')
    b2 = Bank('CoolerThanLHV')
    b3 = Bank('NotYourSEB')
    p1_acc = Account(100, p1, b1)
    p2_acc = Account(25, p2, b2)
    p3_acc = Account(300, p3, b3)
    p4_acc = Account(0, p4, b3)
    with pytest.raises(TransactionError):
        assert p2_acc.transfer(100500, p1_acc)
    """transaction1 = Transaction(5, datetime.date.today(), p2_acc, p1_acc, False)
    transaction2 = Transaction(10, datetime.date.today(), p3_acc, p2_acc, False)"""

    # different banks transfer
    p2_acc.transfer(5, p1_acc)
    assert p2_acc.transactions == p1_acc.transactions == b1.transactions == b2.transactions
    # transaction repr tests for different bank operations
    expected = f'(5 €) {p2} -> {p1}'
    assert p2_acc.transactions[0].__repr__() == expected

    # same bank transfer
    p3_acc.transfer(10, p4_acc)
    assert p3_acc.transactions == p4_acc.transactions == b3.transactions
コード例 #19
0
ファイル: test_investment.py プロジェクト: michal93cz/bank
 def setUp(self):
     self.bank_id = 1
     self.bank = Bank(bank_id=self.bank_id)
     self.USER_ID = random.randint(1, 10)
     self.ACCOUNT_ID = random.randint(1, 10)
     self.INVESTMENT_ID = random.randint(11, 20)
     self.account = self.bank.makeAccount(self.USER_ID, self.ACCOUNT_ID)
コード例 #20
0
ファイル: bank_test.py プロジェクト: dmbandola/Bank_Repo
    def test_add_account(self):
        bank = Bank()
        account_1 = Account(001, 50)
        account_2 = Account(002, 100)

        bank.add_account(account_1)
        bank.add_account(account_2)
        self.assertEqual(len(bank.accounts), 2)
コード例 #21
0
 def test_sum_times(self):
     five_bucks = MoneyFactory.dollar(5)
     ten_francs = MoneyFactory.franc(10)
     bank = Bank()
     bank.add_rate('CHF', 'USD', 2)
     sum_ = Sum(five_bucks, ten_francs).times(2)
     result = bank.reduce(sum_, 'USD')
     eq_(MoneyFactory.dollar(20), result)
コード例 #22
0
 def test_sum_plus_money(self):
     five_bucks = MoneyFactory.dollar(5)
     ten_francs = MoneyFactory.franc(10)
     bank = Bank()
     bank.add_rate('CHF', 'USD', 2)
     sum_ = Sum(five_bucks, ten_francs).plus(five_bucks)
     result = bank.reduce(sum_, 'USD')
     eq_(MoneyFactory.dollar(15), result)
コード例 #23
0
def testBank(self,number = 0):
    '''Returns a bank with the specified number of accounts and/or
    the accounts loaded from the specified file name.'''
    bank = Bank()

    for i in xrange(number):
        bank.add(SavingsAccount('Name' + str(i + 1),str(1000 + i),100.00))
    return bank
コード例 #24
0
def test_observer():
    bank = Bank()
    atm_registry = ATMRegistry()
    atm = atm_registry.get('usd')
    bank.add_atm(atm)
    bank.update = mock.Mock()
    atm.withdraw(100)
    assert bank.update.called == True
コード例 #25
0
 def test_sum_times(self):
     five_bucks: Expression = Money.dollar(5)
     ten_franc: Expression = Money.franc(10)
     bank = Bank()
     bank.add_rate("CHF", "USD", 2)
     cul_sum = Sum(five_bucks, ten_franc).times(2)
     result = bank.reduce(cul_sum, "USD")
     self.assertEqual(Money.dollar(20), result)
コード例 #26
0
ファイル: test_credit.py プロジェクト: michal93cz/bank
 def setUp(self):
     self.bank_id = 1
     self.bank = Bank(bank_id=self.bank_id)
     self.USER_ID = random.randint(1, 10)
     self.ACCOUNT_ID = random.randint(1, 10)
     self.CREDIT_ID = random.randint(11, 20)
     self.account = self.bank.makeAccount(self.USER_ID, self.ACCOUNT_ID)
     self._number_of_installment = 12
コード例 #27
0
ファイル: bank_test.py プロジェクト: anobilisgorse/CSC185
	def test_deposit(self):
		bank = Bank()

		account_1 = Account(001, 50)

		bank.add_account(account_1)

		self.assertEqual(bank.deposit(001, 50), 100)
		self.assertEqual(bank.deposit(002, 50), 'Account does not exist')
コード例 #28
0
def main(fileName = None):
    """Creates the bank with the optional file name,
    wraps the window around it, and opens the window.
    Saves the bank when the window closes."""
    bank = Bank(fileName)
    print(bank)
    manager = BankManager(bank)
    manager.mainloop()
    bank.save()
コード例 #29
0
ファイル: debit_card.py プロジェクト: baubrun/dp_py
class DebitCard(Payment):
    def __init__(self):
        self._bank = Bank()


    def charge(self):
        card = input("Enter your card # :>> ")
        self._bank.set_card(card)
        return self._bank.charge()
コード例 #30
0
def test_bank(timelines=None):
    timelines = timelines
    if timelines == None:
        newTimelines = Timelines()
        timelines = newTimelines.get_test_timelines()
    bank = Bank(timelines)
    bank.print()
    print("Debug: Bank-")
    print('Bank: PASSED')
コード例 #31
0
ファイル: bank_test.py プロジェクト: JimGerth/desy-tdd-python
 def setUp(self):
     self._bank = Bank()
     self._bank.addRate('CHF', 'USD', 2)
     self._five_dollars = Money.dollar(5)
     self._ten_dollars = Money.dollar(10)
     self._fifteen_dollars = Money.dollar(15)
     self._five_francs = Money.franc(5)
     self._ten_francs = Money.franc(10)
     self._thirty_francs = Money.franc(30)
コード例 #32
0
def one_bank(cards):
    """ 은행 fixture 생성 """
    bank1 = Bank("은행1")

    for k, v in cards.items():
        for account, balance in v[1].items():
            bank1.add_account(k, v[0], account, balance)

    return bank1
コード例 #33
0
    def test_add_account(self):
        bank = Bank()

        account_1 = Account(001, 50)
        account_2 = Account(002, 100)

        bank.add_account(account_1)
        bank.add_account(account_2)

        self.assertEqual(len(bank.accounts), 2)
コード例 #34
0
 def test_simple_addition(self):
     """
     足し算テスト
     :return:
     """
     five = Money.dollar(5)
     cul_sum = five.plus(five)
     bank = Bank()
     reduced = bank.reduce(cul_sum, "USD")
     self.assertEqual(Money.dollar(10), reduced)
コード例 #35
0
ファイル: bank_test.py プロジェクト: blocur/pgmain
    def test_add_account(self):
        bank = Bank()

        account1 = Account('001', 20)
        account2 = Account('002', 80)

        bank.add_account(account1)
        bank.add_account(account2)

        self.assertEqual(len(bank.accounts), 2)
コード例 #36
0
ファイル: test_bank.py プロジェクト: Elgedr/Python
def test_account():
    """Test account class."""
    person1 = Person("Ellina", "Gedrojets", 18)
    person2 = Person("Robert", "Soidla", 19)
    bank1 = Bank("Swed")
    bank2 = Bank("LHV")
    acc1 = Account(20, person1, bank1)
    acc2 = Account(100, person2, bank2)
    assert len(acc1.number) == 20
    assert acc2._balance == 100
コード例 #37
0
def create_client(fin: bank.Bank):
    """Create a card (client)"""
    user = client.Client()
    fin.update_db(user)
    print('\nYour card has been created')
    print('Your card number:')
    print(user.card_number)
    print('Your card PIN:')
    print(user.pin)
    print()
コード例 #38
0
def getBankList(whereDict, city="all"):
    conn = getConnection()
    c = conn.cursor()
    where = buildWhereClause(whereDict)
    if city and city != "all":
        where += " and ct_name = '%s'" % city

    c.execute(
        "SELECT * FROM " + BankTable.TABLE_NAME + " LEFT OUTER JOIN " +
        " (SELECT _id AS ct_id, name AS ct_name FROM city) " +
        " ON ct_id == " + BankTable.COL_CITY_ID + " " + where +
        "ORDER BY _id DESC", list(whereDict.viewvalues()))

    conn.commit()

    banks = []
    for row in c.fetchall():
        bank = Bank()
        bank.name = row[BankTable.COL_NAME]
        bank.title = row[BankTable.COL_TITLE]
        bank.fetchTime = row[BankTable.COL_FETCH_TIME]
        bank.accepted = row[BankTable.COL_ACCEPTED]
        bank.url = row[BankTable.COL_URL]
        bank.id = row[BankTable.COL_ID]
        city = row["ct_name"]
        if city:
            bank.city = city
        banks.append(bank)
    return banks
コード例 #39
0
 def setUp(self):
     self.bank = Bank("Seguritas")
     self._id1 = "18.375.852-2"
     self.name1 = "John Dupre"
     self.password1 = 2345
     self._id2 = "13.432.113-k"
     self.name2 = "Emma Cashter"
     self.password2 = 5912
     self.bank.add_user(self._id1, self.name1, self.password1)
     self.bank.add_user(self._id2, self.name2, self.password2)
     self.atm = ATM(self.bank)
コード例 #40
0
    def parseInner(self, url):
        banks = []
        soup = self.getSoup(url)

        for a in soup.find("table", class_="ke-zeroborder").find_all("a"):
            b = Bank()
            b.url = a["href"].encode("utf-8")
            title = a.string.encode("utf-8")
            b.title = self.removeCity(title)
            banks.append(b)
        return banks
コード例 #41
0
    def parseInner(self, url):
        banks = [];
        soup = self.getSoup(url);

        for a in soup.find("table", class_="ke-zeroborder").find_all("a"):
            b = Bank();
            b.url = a["href"].encode("utf-8");
	    title = a.string.encode("utf-8");
            b.title = self.removeCity(title);
            banks.append(b);
        return banks;
コード例 #42
0
def main():
	"""Instantiate a Bank and an ATM to run it"""
	bank = Bank("bank.dat")
	print("The bank has been loaded.")
	
	atm = ATM(bank)
	print("Running the GUI")
	atm.mainloop()
	
	bank.save()
	print("The bank has been updated")
コード例 #43
0
ファイル: atm.py プロジェクト: gregpuzzles1/Sandbox
def main():
    """Instantiate a bank and use it in an ATM."""
    bank = Bank("bank.dat")
    print "The bank has been loaded"

    atm = ATM(bank)
    print "Running the GUI"
    atm.mainloop()

    bank.save()
    print "The bank has been updated"
コード例 #44
0
    def fetchBankList(self):
        banks = [];
	soup = self.getSoup("http://creditcard.gzcb.com.cn/Activities3.html", encoding="gbk");
	if not soup:
	    return banks;

	for a in soup.find("div", class_="active_C").find("ul").find_all("a"):
	    b = Bank();
	    b.url = "http://creditcard.gzcb.com.cn/" + a["href"].encode("utf-8");
	    b.title = a.string.encode("utf-8");
	    banks.append(b);

	return banks;
コード例 #45
0
def getBankList(whereDict, city="all"):
    conn = getConnection();
    c = conn.cursor();
    where = buildWhereClause(whereDict);
    if city and city != "all":
        where += " and ct_name = '%s'" % city;

    c.execute("SELECT * FROM " + BankTable.TABLE_NAME 
            + " LEFT OUTER JOIN " 
            + " (SELECT _id AS ct_id, name AS ct_name FROM city) "  
            + " ON ct_id == " + BankTable.COL_CITY_ID + " "
            + where + "ORDER BY _id DESC", list(whereDict.viewvalues()))

    conn.commit();

    banks = [];
    for row in c.fetchall():
        bank = Bank();
        bank.name = row[BankTable.COL_NAME];
        bank.title = row[BankTable.COL_TITLE];
        bank.fetchTime = row[BankTable.COL_FETCH_TIME];
        bank.accepted = row[BankTable.COL_ACCEPTED];
        bank.url = row[BankTable.COL_URL];
        bank.id = row[BankTable.COL_ID];
        city = row["ct_name"];
        if city:
            bank.city = city;
        banks.append(bank);
    return banks;
コード例 #46
0
    def fetchBankList(self):
        banks = [];
	for page in range(1, self.getPageRange()): 
            f = self.openUrl("http://app.cqrcb.com:81/apply/ajax/AjaxSearch?pageNo=" + str(page) + "&bianliang=0");
	    if f == None:
		break;

            root = json.loads(f.read());
            for l in root['merchantList']:
                b = Bank();
                b.url = "http://app.cqrcb.com:81/apply/ShowDetail.action?merid=" + l["merid"].encode("utf-8");
                b.title =  l["merpro"].encode("utf-8");
                banks.append(b);
	return banks;
コード例 #47
0
    def fetchBankList(self):
        banks = [];
	url = "http://www.hccb.com.cn/xyk/hdgg/index.shtml#";
	soup = self.getSoup(url);
	if not soup:
	    return banks;
	for td in soup.find_all("td", class_="newstitle"):
	    b = Bank();
	    a = td.find("a");
	    b.url = "http://www.hccb.com.cn" + a["href"].encode("utf-8");
	    b.title = self.getTitle(b.url);
	    b.endTime = self.getEndTime(b.url);
	    banks.append(b);

	return banks;
コード例 #48
0
    def fetchBankList(self):
        banks = []
        for page in range(1, self.getPageRange()):
            url = "https://ebank.hkbea.com.cn/batwtp/beaMercQuery.do?turnPageBeginPos=" + str(page)
            f = self.openUrl(url)
            if f == None:
                break

            soup = BeautifulSoup(f)
            lis = soup.find_all("div", class_="ldtconts")
            for l in lis:
                b = Bank()
                b.url = url
                b.title = "".join(l.stripped_strings).encode("utf-8").replace(r"优惠信息:", "")
                banks.append(b)
        return banks
コード例 #49
0
    def fetchBankList(self):
        banks = [];
	for page in range(1, self.getPageRange()): 
            f = self.openUrl("http://www.bankofdl.com/xyk/node_107_" + str(page + 1) + ".htm");
	    if f == None:
		break;

	    soup = BeautifulSoup(f);
	    lis = soup.find_all("span", class_="huang12");
	    for l in lis:
                l = l.parent;
		b = Bank();
                b.url = "http://www.bankofdl.com/xyk/" + l.find("a")["href"].encode("utf-8");
                b.title =  "".join(l.stripped_strings).encode("utf-8");
		banks.append(b);
	return banks;
コード例 #50
0
 def __init__(self, nickname, port):
     # over
     super(BankNode, self).__init__(nickname,port,'bank')
     thread.start_new_thread(self.node_main, ())
     self.bank = Bank()
     self.cl_list = []
     self.addr_list = []
     self.mylock = threading.RLock()
コード例 #51
0
    def fetchBankList(self):
        banks = []
        url = "http://creditcard.ccb.com/favorable/activelist_%d.html"

        for p in range(1, FIXED_COUNT):
            soup = self.getSoup(url % p)
            if soup == None:
                break

            anchors = soup.find_all("a", onclick=re.compile("getHelpInfo"))
            for anchor in anchors:
                b = Bank()
                b.title = anchor["title"].encode("utf-8")
                b.url = "http://creditcard.ccb.com" + anchor["href"].encode("utf-8")
                b.endDate = self.getDateByUrl(b.url)
                banks.append(b)

        return banks
コード例 #52
0
    def fetchBankList(self):
        banks = [];
        baseUrl = "http://www.wzbank.cn/credit/newslist/menu_item_id/268/page/%d";

        for page in range(1, FIXED_COUNT):
            url = baseUrl % page;
            soup = self.getSoup(url);
            if not soup:
                break;

            for l in soup.find("div", class_="all-news-right-wrapper").find("ul").find_all("li"):
                b = Bank();
                a = l.find("a");
                b.title = a.string.encode("utf-8");
                b.url = "http://www.wzbank.cn" + a["href"].encode("utf-8");
                banks.append(b);

	return banks;
コード例 #53
0
    def getBanksByUrl(self, url):
        banks = [];
        soup = self.getSoup(url, encoding="gbk");
        if not soup:
            return banks;

        lis = soup.find_all("a", href=re.compile(r"index\.html"));
        for l in lis:
            b = Bank();
            b.url = "http://www.spdbccc.com.cn" + l["href"].encode("utf-8"); 
            title = l.string.encode("utf-8");
	    b.title = re.sub(r"\[.*\](.*)", r"\1", title);
	    m = re.match(r"\[(.*)地区\]", title);
	    if m:
		b.city = m.group(1);
            banks.append(b);

        return banks;
コード例 #54
0
    def fetchBankList(self):
        banks = [];
        
        for page in range(1, FIXED_COUNT): 
            url = "http://creditcard.bankcomm.com/bcms/front/activity/ajax/search.do?tab=1&pageNo=%d&isPage=true" % (page,);
            soup = self.getSoup(url);
            if not soup:
                return banks

            lis = soup.find_all("div", class_="wzms");
            for l in lis:
                b = Bank();
                b.url = "http://creditcard.bankcomm.com" + l.next_sibling.next_sibling.find("a", class_="btnMore")["href"].encode("utf-8");
                b.title = l.find("td", class_="t2").string.encode("utf-8").strip();
                b.endDate = date_parser.parseZhiStyle(l.find("td", class_="t4").string.encode("utf-8").strip());
                banks.append(b);

	return banks;
コード例 #55
0
ファイル: test_bank.py プロジェクト: rakeshsukla53/bank-app
class TestBankMethods(unittest.TestCase):
    """ test bank methods """

    @classmethod
    def setUp(self):
        self.bank = Bank('Bikash')

    def test_registration(self):
        """ test customer registration """
        customer = self.bank.get_customer_info('Bikash')
        self.assertEqual('Bikash', customer.name)

    def test_customer_info(self):
        """ test customer info """
        customer1 = self.bank.get_customer_info('Bikash')
        customer2 = self.bank.get_customer_info
        self.assertEqual('Bikash', customer1.name)
        self.assertRaises(KeyError, customer2, 'Rakesh')
コード例 #56
0
    def fetchBankList(self):
        banks = [];
	url = "http://www.srcb.com/cardActivity/index.shtml";
	soup = self.getSoup(url);
	if not soup:
	    return banks;

	for ul in soup.find("div", class_="active_list").find_all("ul"):
	    b = Bank();
	    a = ul.find("a");
	    b.url = a["href"].encode("utf-8");
	    b.title = a["title"].encode("utf-8");
	    ds = ul.find("span").string.encode("utf-8");
	    m = re.match(r"至\s+(.*)", ds);
	    if m:
		b.endTime = date_parser.parseDashLineStyle(m.group(1));
	    banks.append(b);

	return banks;
コード例 #57
0
    def fetchBankList(self):
        banks = [];
        baseUrl = "http://creditcard.cmbc.com.cn/promotioninfo/PromotionInfoList.aspx?page=%d";
        for page in range(1, self.getPageRange()):
            url = baseUrl % page;
            soup = self.getSoup(url, encoding="gbk"); 

            if not soup or(self.prevSoup and soup.get_text() == self.prevSoup.get_text()):
                break;

            self.prevSoup = soup;
            for l in soup.find_all("li", class_="lb_white"):
                a = l.find("a");
                b = Bank();
                b.title = a["title"].encode("utf-8").strip();
                b.url = "http://creditcard.cmbc.com.cn/promotioninfo/" + a["href"].encode("utf-8").strip();
                b.city = a.next_sibling.string.encode("utf-8").strip();
                banks.append(b);

        return banks;
コード例 #58
0
    def fetchBankList(self):
	baseUrl = "http://www.bankofbeijing.com.cn/creditcard/list%s.html";
        banks = [];
	for page in range(1, self.getPageRange()):
	    url = None;
	    if page == 1:
		url = baseUrl % "";
	    else:
		url = baseUrl % "_" + str(page);

	    soup = self.getSoup(url);
	    if not soup:
		break;

	    for a in soup.find("ul", class_="f_000_12").find_all("a"):
		b = Bank();
		b.url = "http://www.bankofbeijing.com.cn" + a["href"].encode("utf-8");
		b.title = a.string.encode("utf-8");
		banks.append(b);

	return banks;
コード例 #59
0
ファイル: bank_test.py プロジェクト: anobilisgorse/CSC185
	def test_withdraw(self):
		bank = Bank()

		account_1 = Account(001, 50)

		bank.add_account(account_1)

		self.assertEqual(bank.withdraw(001, 50), 0)
		self.assertEqual(bank.withdraw(001, 100), 'Insufficient balance')
		self.assertEqual(bank.withdraw(002, 50), 'Account does not exist')