Beispiel #1
0
 def do_export(self, widget, export):
     if not self.modified_save():
         return
     if (self.screen.current_view
             and self.screen.current_view.view_type == 'tree'
             and self.screen.current_view.children_field):
         ids = [r.id for r in self.screen.listed_records]
         paths = self.screen.listed_paths
     else:
         ids = [r.id for r in self.screen.selected_records]
         paths = self.screen.selected_paths
     fields = [f['name'] for f in export['export_fields.']]
     data = RPCExecute(
         'model', self.model, 'export_data', ids, fields,
         context=self.screen.context)
     delimiter = ','
     if os.name == 'nt' and ',' == locale.localeconv()['decimal_point']:
         delimiter = ';'
     fileno, fname = tempfile.mkstemp(
         '.csv', common.slugify(export['name']) + '_')
     with open(fname, 'w') as fp:
         writer = csv.writer(fp, delimiter=delimiter)
         writer.writerow(fields)
         for row, path in zip_longest(data, paths or []):
             indent = len(path) - 1 if path else 0
             if row:
                 writer.writerow(WinExport.format_row(row, indent=indent))
     os.close(fileno)
     common.file_open(fname, 'csv')
Beispiel #2
0
 def do_export(self, widget, export):
     if not self.modified_save():
         return
     ids = [r.id for r in self.screen.selected_records]
     fields = [f['name'] for f in export['export_fields.']]
     data = RPCExecute(
         'model', self.model, 'export_data', ids, fields,
         context=self.screen.context)
     delimiter = ','
     if os.name == 'nt' and ',' == locale.localeconv()['decimal_point']:
         delimiter = ';'
     fileno, fname = tempfile.mkstemp(
         '.csv', common.slugify(export['name']) + '_')
     with open(fname, 'w') as fp:
         writer = csv.writer(fp, delimiter=delimiter)
         writer.writerow(fields)
         for row in data:
             writer.writerow(WinExport.format_row(row))
     os.close(fileno)
     common.file_open(fname, 'csv')