Example #1
0
 def get_callback(self, response):
     """Handles the callback response from Dropbox. Outputs the content of
     the download.
     """
     if not response:
         self.authorize_redirect('/auth/dropbox/')
         return
     filename = self.get_file()
     basename = util.find_base(filename)
     self.do_headers(basename)
     self.finish(response)
Example #2
0
 def get_callback(self, response):
     """Handles the callback response from Dropbox. Outputs the content of
     the download.
     """
     if not response:
         self.authorize_redirect('/auth/dropbox/')
         return
     filename = self.get_file()
     basename = util.find_base(filename)
     self.do_headers(basename)
     self.finish(response)
Example #3
0
    def do_output(self,
                  text='',
                  prefix='',
                  salt='',
                  extra='',
                  saved=None,
                  read_only=False):
        """Builds response, outputs headers, renders the template and outputs
        the response.
        """
        filename = self.get_file()
        path = util.find_path(filename)
        basename = util.find_base(filename)
        title = self.find_title(path, basename)

        save_text = 'Save'
        if saved is None:
            # Save status was not specified as an argument, perform test on
            # text.
            if text:
                save_text = 'Saved'
        elif saved:
            # The saved argument indicates the file is saved.
            save_text = 'Saved'

        text = text.replace('&', '&amp;').replace('<',
                                                  '&lt;').replace('>', '&gt;')
        ext = util.find_extension(filename)
        mode = util.get_mode(ext)
        tab_width = util.get_tab_width(ext)
        markup = util.is_markup(ext)

        self.set_header('Content-Type', 'text/html')
        self.finish(
            self.render_string('editor.html',
                               config=json.dumps({
                                   'file_name': basename,
                                   'path': path,
                                   'title': title,
                                   'file': filename,
                                   'text': text,
                                   'mode': mode,
                                   'tab_width': tab_width,
                                   'markup': markup,
                                   'save_text': save_text,
                                   'extra': extra,
                                   'prefix': prefix,
                                   'salt': salt,
                                   'modes': util.MODES,
                                   'read_only': read_only
                               }),
                               title=title,
                               modes=util.MODES))
Example #4
0
    def get_callback(self, response):
        """Handles the callback from Dropbox and displays the file list."""
        if not response:
            self.authorize_redirect('/auth/dropbox/')
            return
        files = []
        for i in response['contents']:
            files.append({
                'name': util.find_base(i['path']),
                'is_file': not i['is_dir'],
                'confirm': ''
            })

        self.do_output(files, prefix = 'dropbox://')
Example #5
0
    def get_callback(self, response):
        """Handles the callback from Dropbox and displays the file list."""
        if not response:
            self.authorize_redirect('/auth/dropbox/')
            return
        files = []
        for i in response['contents']:
            files.append({
                'name': util.find_base(i['path']),
                'is_file': not i['is_dir'],
                'confirm': ''
            })

        self.do_output(files, prefix='dropbox://')
Example #6
0
    def do_output(self, text = '', prefix = '', salt = '', extra = '', saved = None, read_only = False):
        """Builds response, outputs headers, renders the template and outputs
        the response.
        """
        filename = self.get_file()
        path = util.find_path(filename)
        basename = util.find_base(filename)
        title = self.find_title(path, basename)

        save_text = 'Save'
        if saved is None:
            # Save status was not specified as an argument, perform test on
            # text.
            if text:
                save_text = 'Saved'
        elif saved:
            # The saved argument indicates the file is saved.
            save_text = 'Saved'

        text = text.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;')
        ext = util.find_extension(filename)
        mode = util.get_mode(ext)
        tab_width = util.get_tab_width(ext)
        markup = util.is_markup(ext)

        self.set_header('Content-Type', 'text/html')
        self.finish(self.render_string(
            'editor.html',
            config = json.dumps({
                'file_name': basename,
                'path': path,
                'title': title,
                'file': filename,
                'text': text,
                'mode': mode,
                'tab_width': tab_width,
                'markup': markup,
                'save_text': save_text,
                'extra': extra,
                'prefix': prefix,
                'salt': salt,
                'modes': util.MODES,
                'read_only': read_only
            }),
            title = title,
            modes = util.MODES
        ))
Example #7
0
    def get(self):
        """GET request; takes an argument file as the full path of the file to
        download.
        """
        filename = self.get_file()
        basename = util.find_base(filename)

        try:
            full_path = os.path.join(util.get_base_path_adjustment(), filename)
            file_handler = open(full_path, "rb")
            data = file_handler.read()
            file_handler.close()
            length = os.path.getsize(full_path)
        except Exception as error:  # pylint: disable=W0703
            log.error(error)
            data = None
            length = 0

        self.do_headers(basename, length)
        self.finish(data)
Example #8
0
    def get(self):
        """GET request; takes an argument file as the full path of the file to
        download.
        """
        filename = self.get_file()
        basename = util.find_base(filename)

        try:
            full_path = os.path.join(
                util.get_base_path_adjustment(),
                filename
            )
            file_handler = open(full_path, 'rb')
            data = file_handler.read()
            file_handler.close()
            length = os.path.getsize(full_path)
        except Exception as error:  # pylint: disable=W0703
            log.error(error)
            data = None
            length = 0

        self.do_headers(basename, length)
        self.finish(data)
Example #9
0
    def get(self):
        """GET request; takes an argument file as the full path of the file to
        download.
        """
        server = self.get_connection()
        if server:
            details = self.get_connection_details()
            filename = self.get_file()
            basename = util.find_base(filename)

            try:
                tmp_path = tempfile.mkstemp()
                tmp_path = tmp_path[1]
                server.get(os.path.join(details['path'], filename), tmp_path)
                file_handler = open(tmp_path, 'rb')
                data = file_handler.read()
                file_handler.close()
                length = os.path.getsize(tmp_path)
                os.remove(tmp_path)
                self.output_file(basename, length, data)
            except Exception as error:  # pylint: disable=W0703
                log.error(error)
                self.send_error(200)
            server.close()
Example #10
0
    def get(self):
        """GET request; takes an argument file as the full path of the file to
        download.
        """
        server = self.get_connection()
        if server:
            details = self.get_connection_details()
            filename = self.get_file()
            basename = util.find_base(filename)

            try:
                tmp_path = tempfile.mkstemp()
                tmp_path = tmp_path[1]
                server.get(os.path.join(details['path'], filename), tmp_path)
                file_handler = open(tmp_path, 'rb')
                data = file_handler.read()
                file_handler.close()
                length = os.path.getsize(tmp_path)
                os.remove(tmp_path)
                self.output_file(basename, length, data)
            except Exception as error:  # pylint: disable=W0703
                log.error(error)
                self.send_error(200)
            server.close()
Example #11
0
 def write_error(self, status_code, **kwargs):
     """Write out error."""
     basename = util.find_base(self.get_file())
     self.output_file(basename, 0, None)
Example #12
0
 def write_error(self, status_code, **kwargs):
     """Write out error."""
     basename = util.find_base(self.get_file())
     self.output_file(basename, 0, None)