def sendUserPasswordEmail(username, password, subject): makeSureNotLdap() frome= settings['maintEmail'] u= UserPrefs.getInstance(username) email= u['email.address'] subject='%s for %s on %s' % (subject, username, settings['siteName']) message= """Your new password is '%s'.""" % (password) sendEmail(frome, email, subject, message)
def gsend(self, signer, to, message, RETURN_RECEIPT=0): to_locs= [x for x in to if x[0] != '/'] to_kwds= [x for x in to if x[0] == '/'] if len(to_locs) == 0: return to_locs= map(pygale.expand_aliases, to_locs) ret= lookup_all_locations(to_locs) (send_locs, bad_locs, encr_recps)= ([], [], []) for (loc, recps) in ret: if recps is None: bad_locs.append(loc) else: send_locs.append(loc) for r in recps: if isinstance(r, str): encr_recps.append(r) else: encr_recps.append(r.name()) if bad_locs: raise ValueError, 'Unable to resolve location: ' \ + string.join(bad_locs) + '.' if '' in encr_recps: # no point encrypting if we're also sending plaintext encr_recps= [] else: if not signer in encr_recps: encr_recps.append(signer) to_locs.append(signer) puff= Puff() puff.set_loc(string.join(to_locs)) u= UserPrefs.getInstance(signer) sender= u['gale.sender'] if sender == '': sender= KeyStore.getFullname(signer) puff.set_text('message/sender', sender) puff.set_time('id/time', int(time.time())) puff.set_text('id/class', '%s/%s' % (settings['product'], YammerUtils.getVersionString())) puff.set_text('id/instance', getinstance()) if RETURN_RECEIPT: puff.set_text('question.receipt', signer) for kwd in to_kwds: puff.set_text('message.keyword', kwd[1:]) if len(message) > 0 and not message.endswith('\n'): message += '\n' puff.set_text('message/body', message) ret= puff.sign_message(signer) if ret is not None: # danger puff= ret if encr_recps: ret= puff.encrypt_message(encr_recps) if ret is not None: # danger puff= ret self.connect() self.transmit_puff(puff) self.disconnect()
def forgotPassword(username): makeSureNotLdap() u= UserPrefs.getInstance(username) e= u['email.address'] if e is not None and e.find('@') > 0: password= randomPassword() setPassword(username, password) return sendUserPasswordEmail(username, password, 'reset password') else: raise 'noEmail'
def createUser(username, email): makeSureNotLdap() if not validUsername(username): return 'Username must be less than 64 characters and must ' + \ 'consist of letters, numbers, and/or underscores.' else: if userExists(username): return 'User already exists; please pick a new name.' else: password= randomPassword() setPassword(username, password) u= UserPrefs.getInstance(username) u['email.address']= email err= sendUserPasswordEmail(username, password, 'new account password') return err
def main(self): self.root_win = tk.Tk() self.root_win.withdraw() try: #Get the default user and configuration prefs = UserPrefs.UserPrefs() #show the dialog box if this is the first time logging_enabled = False consent_refused = False startup_cancelled = False view_order = 0 dwell_times = [] max_scroll_values = [] user_view_order = [] if not prefs.have_killswitch: if not prefs.have_consent: handler = FirstTimeHandler(Config.consent_filename, Config.info_logo_filename, Config.pictogram_filenames) (got_consent, user_closed_window, view_order, dwell_times, max_scroll_values, user_view_order) = handler.get_consent() if got_consent: prefs.set_have_consent() else: consent_refused = True if user_closed_window: startup_cancelled = True elif not prefs.shown_pictograms: picto_viewer = Pictoviewer(tk.Toplevel(), Config.info_logo_filename, Config.pictogram_filenames) picto_viewer.show() picto_viewer.destroy() dwell_times = picto_viewer.dwell_times max_scroll_values = picto_viewer.max_scroll_values user_view_order = picto_viewer.user_view_order if prefs.have_consent and not startup_cancelled: splash = SplashScreen.SplashScreen(tk.Toplevel(), prefs) (startup_cancelled, logging_enabled) = splash.show() if not startup_cancelled: if consent_refused: tkMessageBox.showwarning( "Logging disabled", "You did not give your consent. Your usage data will NOT be reported until consent is given." ) launcher = Launcher.Launcher(prefs, view_order, dwell_times, max_scroll_values, user_view_order, self._done_callback) launcher.spawn(logging_enabled) # Enter root window's mainloop to handle updates while the GIMP is running # If we don't do this, then things in Window can hang for a little while self.root_win.after(1000, self._done_check) self.root_win.mainloop() if self.result: # App launched and quit successfully if logging_enabled: print "Uploading collected data..." uploader = Uploader.Uploader(prefs) uploader.upload() print "Finished uploading." # Check for participation after quitting if not prefs.have_killswitch: participate = Participation.Participation( tk.Toplevel(), prefs) participate.check_for_participation() except Exception, e: tkMessageBox.showerror("ingimp Error", "ingimp Error: " + str(e))
space1 = tk.Label(window, text=' ') ok_button = tk.Button(window, command=self._handle_ok, text="OK", padx=40) logo.grid(row=0, column=0, rowspan=2) version_label.grid(row=2, column=0) user_label.grid(row=3, column=0) support_label.grid(row=4, column=0) space1.grid(row=5, column=0) ok_button.grid(row=6, column=0) ok_button.focus_set() self.window.bind("<Return>", self._handle_ok) def show(self): Utils.center_window(self.window) self.window.focus_set() self.window.mainloop() self.window.destroy() def _handle_ok(self, *args): self.window.withdraw() self.window.quit() if __name__ == '__main__': prefs = UserPrefs.UserPrefs() about = About(tk.Tk(), prefs) about.show()
def check_for_participation(self): participation_url = self.prefs.get(UserPrefs.PARTICIPATION_URL) if participation_url: url_to_open = Utils.get_redirect_url(participation_url) if url_to_open: url_to_open = url_to_open + '?' + urllib.urlencode( [('id', self.prefs.user_id), ('version', Config.version)]) try: f = urllib2.urlopen(url_to_open) proceed = f.readline().strip() if (proceed == 'KILL'): self.prefs.set_have_killswitch() message_text = f.readline().strip() tkMessageBox.showinfo("End of Study", message_text) else: proceed = (proceed == 'YES') if proceed: self.message_text = f.readline().strip() self.interaction_url = f.readline().strip() f.close() if proceed: if self.message_text and self.interaction_url: self._show_dialog() except Exception, e: pass if __name__ == '__main__': participate = Participation(tk.Tk(), UserPrefs.UserPrefs()) participate.check_for_participation()
def create_screen(): macx11screen = MacX11Screen(tk.Tk(), UserPrefs.UserPrefs()) return macx11screen
find_label = tk.Label(self.window, text=self.find_text) find_label.pack() help_label = tk.Label(self.window, text=self.help_text) help_label.pack() box = tk.Frame(self.window) web_button = tk.Button(box, text="Go to X11 Apple Support Page", width=30, command=self._handle_web, default=tk.ACTIVE) web_button.pack() quit_button = tk.Button(box, text="Quit", width=10, command=self._handle_quit) quit_button.pack() box.pack() self.window.bind("<Return>", self._handle_web) self.window.bind("<Escape>", self._handle_quit) def _handle_web(self, *args): webbrowser.open_new(self.x11_support_url) self._handle_quit() def _handle_quit(self, *args): self.window.quit() def _show_dialog(self): self._build_UI() Utils.center_window(self.window) self.window.mainloop() self.window.destroy() def show_dialog(self): self._show_dialog() if __name__ == '__main__': macx11screen = MacX11Screen(tk.Tk(), UserPrefs.UserPrefs()) macx11screen.show_dialog()