예제 #1
0
 def BorrowToIllega(self):
     borrow = BorrowAPI()
     user = UserAPI()
     ill_rec = borrow.RetureIllegalRecord()
     # ill_rec是违章记录的对象元组
     if ill_rec == 0:
         print('no Illegal record')
         return True
     else:
         try:
             for record in ill_rec:
                 # 每条超时记录处理
                 # 将用户的状态修改为不可借书的状态
                 user.UpdateRecord('user', 'status', '超时', 'userid',
                                   record.get_userid())
                 systime = datetime.datetime.now().strftime('%Y-%m-%d')
                 acount = random.randint(1, 10)
                 illegal = IllegalAPI()
                 obj = Illegal()
                 max = int(illegal.GetMaxIllegalid()) + 1
                 obj.set_illegalid(max)
                 obj.set_userid(record.get_userid())
                 obj.set_bookid(record.get_bookid())
                 obj.set_amount(acount)
                 obj.set_isprocessed('否')
                 # obj.set_illegaldate(systime)
                 obj.set_illegaldate('1996-01-01')
                 obj.set_illegaltype('超时')
                 illegal.InsertIllegal(obj)
             return True
         except:
             return False
 def UserInforAlter(self):
     user = UserAPI()
     print("1.用户名")
     print("2.密码")
     print("3.学院")
     print("4.专业")
     print("5.年龄")
     print("6.性别")
     print("7.学位")
     print("8.联系方式")
     options = {
         '1': 'username',
         '2': 'password',
         '3': 'faculty',
         '4': 'department',
         '5': 'age',
         '6': 'gender',
         '7': 'useridentity',
         '8': 'userconnection'
     }
     keys = input("请依次输入修改项,并用空格隔开:")
     keys = keys.split()
     keys1 = []
     for i in range(len(keys)):
         keys1.append(options[keys[i]])
     values = input("请输入修改值:")
     values = values.split()
     alterdict = dict(zip(keys1, values))
     for key in alterdict:
         user.UpdateRecord('user', key, alterdict[key], 'userid', self.id)
예제 #3
0
def create_graph(cfg, username):

    userAPI = UserAPI(cfg)
    campaignAPI = CampaignAPI(cfg)

    user = userAPI.show_by_username(username)

    nodes = {}
    edges = {}

    graph = yapgvb.Digraph(username)

    walk_user_campaigns(userAPI, campaignAPI, graph, nodes, edges, user)

    return graph
 def login(self):
     user = UserAPI()
     id = input("请输入登陆id:")
     passwd = input("请输入密码:")
     if (user.matchIsAdmin(id, passwd) == True):
         print("登陆成功")
         self.id = id
         self.type = 'admin'
     else:
         if (user.matchIsUser(id, passwd) == True):
             print("登陆成功")
             self.id = id
             self.type = 'user'
         else:
             print("login error!")
예제 #5
0
def create_graph( cfg, username ):

    userAPI = UserAPI( cfg )
    campaignAPI = CampaignAPI( cfg )

    user = userAPI.show_by_username( username )

    nodes = {}
    edges = {}

    graph = yapgvb.Digraph(username)

    walk_user_campaigns(userAPI, campaignAPI, graph, nodes, edges, user )

    return graph
 def register(self):
     user = UserAPI()
     print(
         "请依次输入学号(或教工号)、用户名、密码、学院、专业、年龄、性别(male或者female)、学位、联系方式,各项之间用空格隔开")
     list = input(":")
     list = list + ' 正常'
     list = list.split()
     list2 = tuple(list)
     list3 = []
     list3.append(list2)
     is_insert = user.InsertUserRecord(list3)
     if (is_insert):
         print("register success!")
     else:
         print("register failed!")
     self.Menu()
예제 #7
0
def run():
    '''主程序入口
    '''
    config = BaseConfig
    user = UserAPI(config)

    # 自动登陆
    if not user.is_online():
        return
 
    # 定时任务
    scheduler = BlockingScheduler()
    # 每天9:30左右给女朋友发送每日一句
    scheduler.add_job(user.send, 
                    'cron', 
                    hour=config.alarmHour, 
                    minute=config.alarmMinute)
    # 每隔2分钟发送一条数据用于测试。
    # scheduler.add_job(user.send, 'interval', seconds=30)
    scheduler.start()
예제 #8
0
class TestCampaignAPI( unittest.TestCase ):
    def setUp( self ):
        self.config = OpPyConfig( '' )
        self.user_info = UserAPI(self.config)
        self.campaign  = CampaignAPI( self.config )

    def test_get(self):
        campaignID = 'af7946b642a111e0bbb240403656340d'
        campaign = self.campaign.get( campaignID )
        self.campaign_asserts( campaign )

    def test_get_by_user(self):
        #first use the user info api to grab the campaigns
        user = self.user_info.get_me()
        self.assertTrue(user.campaigns() != None )
        campaigns = user.campaigns()

        #then iterate through the campaigns and do some basic sanity checking on 'em
        campAPI = CampaignAPI( self.config )
        for campaign in campaigns:
            camp = campAPI.get(campaign.id())
            self.assertEqual(campaign.id(), camp.id())
            self.assertEqual(campaign.slug(), camp.slug())
            self.assertEqual(campaign.campaign_url(), camp.campaign_url())
            self.assertEqual(campaign.visibility(), camp.visibility())
            self.campaign_asserts( camp )

    def test_get_by_slug(self):
        campaign = self.campaign.get_by_slug( "oppy")
        self.campaign_asserts( campaign )
        
    def campaign_asserts(self, camp ):

        self.assertTrue(type(camp.id()).__name__ == 'unicode')
        self.assertTrue(type(camp.slug()).__name__ == 'unicode')
        self.assertTrue(type(camp.campaign_url()).__name__ == 'unicode')
        self.assertTrue(type(camp.visibility()).__name__ == 'unicode')
        #self.assertTrue(  capi.play_status() != None )
        #self.assertTrue( type(capi.play_status()).__name__ == 'unicode' )
        self.assertTrue(camp.name() != None)
        self.assertTrue(type(camp.name()).__name__ == 'unicode')
        self.assertTrue(camp.looking_for_players() != None)
        self.assertTrue(type(camp.looking_for_players()).__name__ == 'bool')
        self.assertTrue(camp.players() != None)
        self.assertTrue(type(camp.players()).__name__ == 'list')
        self.assertTrue(camp.fans() != None)
        self.assertTrue(type(camp.fans()).__name__ == 'list')
        self.assertTrue(camp.game_master() != None)
        self.assertTrue(type(camp.game_master()).__name__ == 'instance')
        self.assertTrue(camp.location() != None)
        self.assertTrue(type(camp.location()).__name__ == 'dict')
예제 #9
0
class TestCampaignAPI(unittest.TestCase):
    def setUp(self):
        self.config = OpPyConfig('')
        self.user_info = UserAPI(self.config)
        self.campaign = CampaignAPI(self.config)

    def test_get(self):
        campaignID = 'af7946b642a111e0bbb240403656340d'
        campaign = self.campaign.get(campaignID)
        self.campaign_asserts(campaign)

    def test_get_by_user(self):
        #first use the user info api to grab the campaigns
        user = self.user_info.get_me()
        self.assertTrue(user.campaigns() != None)
        campaigns = user.campaigns()

        #then iterate through the campaigns and do some basic sanity checking on 'em
        campAPI = CampaignAPI(self.config)
        for campaign in campaigns:
            camp = campAPI.get(campaign.id())
            self.assertEqual(campaign.id(), camp.id())
            self.assertEqual(campaign.slug(), camp.slug())
            self.assertEqual(campaign.campaign_url(), camp.campaign_url())
            self.assertEqual(campaign.visibility(), camp.visibility())
            self.campaign_asserts(camp)

    def test_get_by_slug(self):
        campaign = self.campaign.get_by_slug("oppy")
        self.campaign_asserts(campaign)

    def campaign_asserts(self, camp):

        self.assertTrue(type(camp.id()).__name__ == 'unicode')
        self.assertTrue(type(camp.slug()).__name__ == 'unicode')
        self.assertTrue(type(camp.campaign_url()).__name__ == 'unicode')
        self.assertTrue(type(camp.visibility()).__name__ == 'unicode')
        #self.assertTrue(  capi.play_status() != None )
        #self.assertTrue( type(capi.play_status()).__name__ == 'unicode' )
        self.assertTrue(camp.name() != None)
        self.assertTrue(type(camp.name()).__name__ == 'unicode')
        self.assertTrue(camp.looking_for_players() != None)
        self.assertTrue(type(camp.looking_for_players()).__name__ == 'bool')
        self.assertTrue(camp.players() != None)
        self.assertTrue(type(camp.players()).__name__ == 'list')
        self.assertTrue(camp.fans() != None)
        self.assertTrue(type(camp.fans()).__name__ == 'list')
        self.assertTrue(camp.game_master() != None)
        self.assertTrue(type(camp.game_master()).__name__ == 'instance')
        self.assertTrue(camp.location() != None)
        self.assertTrue(type(camp.location()).__name__ == 'dict')
예제 #10
0
class UserClient(object):
    def __init__(self):
        self.userapi = UserAPI()

    def MatchIsUser(self):
        funcname = sys._getframe().f_back.f_code.co_name
        args = ['10973', '941075']
        DisplayResultBool(funcname, self.userapi.matchIsUser(args[0], args[1]),
                          args)

    def GetUserShow(self):
        funcname = sys._getframe().f_back.f_code.co_name
        args = ['10002']
        DisplayResultSingle(funcname, self.userapi.GetUserShow(args[0]))

    def InsertUserRecord(self):
        funcname = sys._getframe().f_back.f_code.co_name
        user = User()
        user.setid('11002')
        user.setusername('sanshui')
        user.setpassword('123456')
        user.setfaculty('信息')
        user.setdepartment('计算机')
        user.setage('20')
        user.setgendar('female')
        user.setuseridentity('硕士')
        user.setuserconnection('8088888')
        user.setstatus('正常')
        args = user
        DisplayResultBool(funcname, self.userapi.InsertUserRecord(user))
        DisplayAttributes(user)

    def GetUserRecord(self):
        funcname = sys._getframe().f_back.f_code.co_name
        Dict1 = {'faculty': '信息学院', 'status': '在借'}
        Dict2 = {'gender': 'female', 'useridentity': '教师'}
        Dict3 = {'faculty': '工学院', 'age': '20', 'status': '正常'}
        DisplayResultSet(funcname, self.userapi.GetUserRecord(Dict1), Dict1)
        DisplayResultSet(funcname, self.userapi.GetUserRecord(Dict2), Dict2)
        DisplayResultSet(funcname, self.userapi.GetUserRecord(Dict3), Dict3)

    def DeleteRecord(self):
        funcname = sys._getframe().f_back.f_code.co_name
        table = 'user'
        key = 'userid'
        val = '10088'
        args = [table, key, val]
        DisplayResultBool(funcname,
                          self.userapi.DeleteRecord(args[0], args[1], args[2]),
                          args)

    def TestUserClient(self):
        self.MatchIsUser()
        self.GetUserShow()
        self.InsertUserRecord()
        self.GetUserRecord()
        self.DeleteRecord()
예제 #11
0
 def setUp( self ):
     self.config = OpPyConfig( '' )
     self.user_info = UserAPI(self.config)
     self.campaign  = CampaignAPI( self.config )
 def UserInfor(self):
     user = UserAPI()
     user.GetUserShow(self.id)
     user.GetUserType(self.id)
예제 #13
0
 def setUp(self):
     self.config = OpPyConfig('')
     self.user_info = UserAPI(self.config)
     self.campaign = CampaignAPI(self.config)
예제 #14
0
 def __init__(self):
     self.userapi = UserAPI()