comparison cagou/core/profile_manager.py @ 312:772c170b47a9

Python3 port: /!\ Cagou now runs with Python 3.6+ Port has been done in the same way as for backend (check backend commit b2d067339de3 message for details).
author Goffi <goffi@goffi.org>
date Tue, 13 Aug 2019 19:14:22 +0200
parents b2727877bad4
children 4d660b252487
comparison
equal deleted inserted replaced
311:a0d978d3ce84 312:772c170b47a9
40 jid = properties.ObjectProperty(None) 40 jid = properties.ObjectProperty(None)
41 password = properties.ObjectProperty(None) 41 password = properties.ObjectProperty(None)
42 error_msg = properties.StringProperty('') 42 error_msg = properties.StringProperty('')
43 43
44 def __init__(self, pm): 44 def __init__(self, pm):
45 super(NewProfileScreen, self).__init__(name=u'new_profile') 45 super(NewProfileScreen, self).__init__(name='new_profile')
46 self.pm = pm 46 self.pm = pm
47 47
48 def onCreationFailure(self, failure): 48 def onCreationFailure(self, failure):
49 msg = [l for l in unicode(failure).split('\n') if l][-1] 49 msg = [l for l in str(failure).split('\n') if l][-1]
50 self.error_msg = unicode(msg) 50 self.error_msg = str(msg)
51 51
52 def onCreationSuccess(self, profile): 52 def onCreationSuccess(self, profile):
53 self.pm.profiles_screen.reload() 53 self.pm.profiles_screen.reload()
54 G.host.bridge.profileStartSession( 54 G.host.bridge.profileStartSession(
55 self.password.text, profile, 55 self.password.text, profile,
66 def doCreate(self): 66 def doCreate(self):
67 name = self.profile_name.text.strip() 67 name = self.profile_name.text.strip()
68 # XXX: we use XMPP password for profile password to simplify 68 # XXX: we use XMPP password for profile password to simplify
69 # if user want to change profile password, he can do it in preferences 69 # if user want to change profile password, he can do it in preferences
70 G.host.bridge.profileCreate( 70 G.host.bridge.profileCreate(
71 name, self.password.text, u'', 71 name, self.password.text, '',
72 callback=lambda: self.onCreationSuccess(name), 72 callback=lambda: self.onCreationSuccess(name),
73 errback=self.onCreationFailure) 73 errback=self.onCreationFailure)
74 74
75 75
76 class DeleteProfilesScreen(Screen): 76 class DeleteProfilesScreen(Screen):
77 77
78 def __init__(self, pm): 78 def __init__(self, pm):
79 self.pm = pm 79 self.pm = pm
80 super(DeleteProfilesScreen, self).__init__(name=u'delete_profiles') 80 super(DeleteProfilesScreen, self).__init__(name='delete_profiles')
81 81
82 def doDelete(self): 82 def doDelete(self):
83 """This method will delete *ALL* selected profiles""" 83 """This method will delete *ALL* selected profiles"""
84 to_delete = self.pm.getProfiles() 84 to_delete = self.pm.getProfiles()
85 deleted = [0] 85 deleted = [0]
90 self.pm.profiles_screen.reload() 90 self.pm.profiles_screen.reload()
91 self.pm.screen_manager.transition.direction = 'right' 91 self.pm.screen_manager.transition.direction = 'right'
92 self.pm.screen_manager.current = 'profiles' 92 self.pm.screen_manager.current = 'profiles'
93 93
94 for profile in to_delete: 94 for profile in to_delete:
95 log.info(u"Deleteing profile [{}]".format(profile)) 95 log.info("Deleteing profile [{}]".format(profile))
96 G.host.bridge.asyncDeleteProfile( 96 G.host.bridge.asyncDeleteProfile(
97 profile, callback=deleteInc, errback=deleteInc) 97 profile, callback=deleteInc, errback=deleteInc)
98 98
99 99
100 class ProfilesScreen(Screen): 100 class ProfilesScreen(Screen):
101 layout = properties.ObjectProperty(None) 101 layout = properties.ObjectProperty(None)
102 profiles = properties.ListProperty() 102 profiles = properties.ListProperty()
103 103
104 def __init__(self, pm): 104 def __init__(self, pm):
105 self.pm = pm 105 self.pm = pm
106 super(ProfilesScreen, self).__init__(name=u'profiles') 106 super(ProfilesScreen, self).__init__(name='profiles')
107 self.reload() 107 self.reload()
108 108
109 def _profilesListGetCb(self, profiles): 109 def _profilesListGetCb(self, profiles):
110 profiles.sort() 110 profiles.sort()
111 self.profiles = profiles 111 self.profiles = profiles
132 BoxLayout.__init__(self, orientation="vertical") 132 BoxLayout.__init__(self, orientation="vertical")
133 self.screen_manager = ScreenManager() 133 self.screen_manager = ScreenManager()
134 self.profiles_screen = ProfilesScreen(self) 134 self.profiles_screen = ProfilesScreen(self)
135 self.new_profile_screen = NewProfileScreen(self) 135 self.new_profile_screen = NewProfileScreen(self)
136 self.delete_profiles_screen = DeleteProfilesScreen(self) 136 self.delete_profiles_screen = DeleteProfilesScreen(self)
137 self.xmlui_screen = Screen(name=u'xmlui') 137 self.xmlui_screen = Screen(name='xmlui')
138 self.screen_manager.add_widget(self.profiles_screen) 138 self.screen_manager.add_widget(self.profiles_screen)
139 self.screen_manager.add_widget(self.xmlui_screen) 139 self.screen_manager.add_widget(self.xmlui_screen)
140 self.screen_manager.add_widget(self.new_profile_screen) 140 self.screen_manager.add_widget(self.new_profile_screen)
141 self.screen_manager.add_widget(self.delete_profiles_screen) 141 self.screen_manager.add_widget(self.delete_profiles_screen)
142 self.add_widget(self.screen_manager) 142 self.add_widget(self.screen_manager)