Пример #1
0
def generate_spreadsheet(account_id, useraccount_id, spreadsheet_id, downloaded_spreadsheet_id, file_type):
    # print "starting.."
    from spreadsheets.models import Spreadsheet, DownloadedSpreadsheet
    from spreadsheets.spreadsheet import SpreadsheetAbstraction
    from accounts.models import Account

    account = Account.objects.get(pk=account_id)
    spreadsheet = Spreadsheet.objects.get(pk=spreadsheet_id, account=account)

    f_write = cStringIO.StringIO()
    SpreadsheetAbstraction.create_spreadsheet(spreadsheet.members, spreadsheet.template_obj, file_type, file_handler=f_write)

    extension = SpreadsheetAbstraction.extension_from_file_type(file_type)
    downloaded_spreadsheet = DownloadedSpreadsheet.objects.get(pk=downloaded_spreadsheet_id)

    downloaded_spreadsheet.downloaded_file.save("%s.%s.%s" % (spreadsheet.full_name, downloaded_spreadsheet.pk, extension), ContentFile(f_write.getvalue()), save=False)
    downloaded_spreadsheet.generation_finished = True
    downloaded_spreadsheet.save()
    
    # print "done"
Пример #2
0
    def create_and_save_200_person_spreadsheet(self, fields=["first_name","last_name","email","phone_number"], spreadsheet_filename=None):
        if not spreadsheet_filename:
            spreadsheet_filename = "test.xls"
        
        full_filename = os.path.join(settings.PROJECT_ROOT, TEST_SPREADSHEET_PATH, spreadsheet_filename)
        
        

        if not os.path.exists(full_filename):
            Person.objects_by_account(self.account).all().delete()
            [Factory.person(self.account) for f in range(0,200)]
            fh = open(full_filename, 'w')
            q = Person.objects_by_account(self.account).all()

            SpreadsheetAbstraction.create_spreadsheet(q, fields, EXCEL_TYPE, file_handler=fh)
            fh.flush()
            fh.close()
        
        Person.objects_by_account(self.account).all().delete()

        return spreadsheet_filename
Пример #3
0
 def people_mailing_list_spreadsheet_file(cls, account, file_type=None, template=SPREADSHEET_TEMPLATE_CHOICES[0][0], **kwargs):
     f_write = cStringIO.StringIO()
     s = cls.spreadsheet(account, template, file_type)
     SpreadsheetAbstraction.create_spreadsheet(s.members, s.template_obj, s.default_filetype, file_handler=f_write, with_header=False)
     f_read = cStringIO.StringIO(f_write.getvalue())
     return f_read