Exemple #1
0
 def paste_clipboard(self):
     newname = os.path.join(self.path, os.path.basename(self._clipboard_file))
     if newname == self._clipboard_file:
         self.svc.error_dlg(_('Cannot copy files to themselves.'))
         return
     if not os.path.exists(self._clipboard_file):
         self.svc.error_dlg(_('Source file has vanished.'))
         return
     if os.path.exists(newname):
         self.svc.error_dlg(_('Destination already exists.'))
         return
     
     task = AsyncTask(self._paste_clipboard, lambda: None)
     task.start()
Exemple #2
0
    def paste_clipboard(self):
        newname = os.path.join(self.path,
                               os.path.basename(self._clipboard_file))
        if newname == self._clipboard_file:
            self.svc.error_dlg(_('Cannot copy files to themselves.'))
            return
        if not os.path.exists(self._clipboard_file):
            self.svc.error_dlg(_('Source file has vanished.'))
            return
        if os.path.exists(newname):
            self.svc.error_dlg(_('Destination already exists.'))
            return

        task = AsyncTask(self._paste_clipboard, lambda: None)
        task.start()
Exemple #3
0
 def _python_fork(self, commandargs, env, cwd):
     self._term.connect('commit', self.on_commit_python)
     # TODO: Env broken
     env = dict(os.environ)
     env['TERM'] = 'xterm'
     (master, slave) = os.openpty()
     self.slave = slave
     self.master = master
     self._term.set_pty(master)
     p = subprocess.Popen(commandargs, stdin=slave, stdout=slave,
                          preexec_fn=self._python_fork_preexec_fn,
                          stderr=slave, env=env, cwd=cwd, close_fds=True)
     self._pid = p.pid
     self._last_cwd = cwd
     gobject.timeout_add(200, self._save_cwd)
     t = AsyncTask(self._python_fork_waiter, self._python_fork_complete)
     t.start(p)
Exemple #4
0
 def on_signin_btn__clicked(self, object):
     self.parent.statusLabel.set_text('Signing in...')
     data = {
         'username': self.username.get_text(),
         'password': hashlib.md5(self.password.get_text()).hexdigest()
     }
     self._disable_forms()
     AsyncTask(net.sign_in, self.sign_in_response).start(data)
Exemple #5
0
    def refresh_project(self):
        """
        Updates the project cache database
        """
        if not self._current:
            return
        if self._current in self._update_tasks:
            self.notify_user(_("Update already running"), title=_("Project"))
            return

        self.notify_user(_("Update started"), title=_("Project"))

        self._update_tasks[self._current] = AsyncTask(
            work_callback=self._update_job)
        self._update_tasks[self._current].start(self._current)
Exemple #6
0
    def __init__(self, parent):
        super(Content, self).__init__()
        self.parent = parent

        self.favorites_btn.set_name('favorites')
        self.settings_btn.set_name('settings')
        self.toggles = [self.favorites_btn, self.settings_btn]

        self.greeting_lbl.set_text('Hi, {0}'.format(
            self.parent.account_data.get('realname', '')))
        self.server_message_lbl.set_text(
            self.parent.account_data.get('message', 'No new messages.'))

        # requesting categories
        AsyncTask(net.categories, self.categories_response).start()
Exemple #7
0
    def on_create_btn__clicked(self, object):
        self.error_lbl.set_label('')
        username = self.username.get_text()
        password1 = self.password.get_text()
        password2 = self.password2.get_text()
        realname = self.real_name.get_text()
        email = self.email.get_text()

        errors = self._validate_form()
        if len(errors):
            for x in errors:
                self.error_lbl.set_label(errors[x])
                self._flash_error(x)
        else:
            # do the registration
            self.parent.statusLabel.set_text('Sending data...')
            data = {
                'username': username,
                'password': hashlib.md5(password1).hexdigest(),
                'realname': realname,
                'email': email
            }
            self._disable_forms()
            AsyncTask(net.new_user, self.register_response).start(data)
Exemple #8
0
    if data:
        urlargs = (req, urlencode(data))
    else:
        urlargs = (req,)

    def _fetcher():
        try:
            f = urlopen(*urlargs)
            content = f.read()
            url = f.url
        except Exception, e:
            content = str(e)
            url = None
        return url, content

    task = AsyncTask(_fetcher, content_callback)
    task.start()

if __name__ == '__main__':
    def cc(url, data):
        print url, data
        gtk.main_quit()

    fetch_url('http://google.com/sdfsdfsdf', cc)
    import gtk
    gtk.threads_init()
    gtk.threads_enter()
    gtk.main()
    gtk.threads_leave()

Exemple #9
0
 def on_books_list__double_click(self, ol, item):
     self.contents_tree.clear()
     if item is not None:
         task = AsyncTask(self.load_book, self.book_loaded)
         task.start()
Exemple #10
0
 def remove_path(self, path):
     task = AsyncTask(self._remove_path, lambda: None)
     task.start(path)
Exemple #11
0
 def create_ancest_tree(self):
     task = AsyncTask(self._get_ancestors, self._show_ancestors)
     task.start(self.path)
Exemple #12
0
 def diff_path(self, path):
     self._log.append_action('Diffing', path, gtk.STOCK_COPY)
     task = AsyncTask(self._do_diff, self._done_diff)
     task.start(path)
Exemple #13
0
 def remove_path(self, path):
     task = AsyncTask(self._remove_path, lambda: None)
     task.start(path)
Exemple #14
0
 def create_ancest_tree(self):
     task = AsyncTask(self._get_ancestors, self._show_ancestors)
     task.start(self.path)
Exemple #15
0
 def show_first_content(self):
     self._clear_content()
     self.statusLabel.set_text('Connecting...')
     AsyncTask(self.net.send_hello, self.ping_status).start()
     self.body_content = self.add_slave(FirstContent(self), 'mainContent')
Exemple #16
0
 def on_recovery_btn__clicked(self, object):
     self.parent.statusLabel.set_text('Please wait...')
     self._disable_forms()
     data = {'email': self.recovery_email.get_text()}
     self._disable_forms()
     AsyncTask(net.recover, self.recovery_response).start(data)