Also i don't comment until i put my code into production (bad habit,
yes i know :x), so let me know if you need me to throw in some dirty
comments to make it more readable.
On Mar 27, 3:21 pm, Robocop <btha...@physics.ucsd.edu> wrote:
> On Mar 27, 3:05 pm, Briel <toppe...@gmail.com> wrote:
>
> > Hi.
> > It would be really helpful to be able to look at your function as
> > well. My
> > Guess is that the problem lies there, since this is happening when you
> > call the function. Even if the problem is within django it would be a
> > lot
> > easier to find when looking through your function to see what it does.
> > Also please post it at dphaste or some other simelar website.
>
> > ~Jakob
>
> I've avoided posting the function just because it's a little long to
> read, and doesn't do anything particularly interesting,  but here you
> go (thanks for the help by the way):
>
> def timesheet_export(timesheets,date):
>   labor={'network_software_service':'NETSFT',
> 'emergency_night':'EMERGN ','emergency_weekend':'EMERG
> ','drop_off_at_mips':'DRPMIPS','consulting_block':'CNSLTNG','delivery':'DELIVERY'}
>   year, month, day =date.strftime("%Y-%M-%d").split("-")
>   path = "/home/mipscomp/public_html/support/helpdesk/
> exported/"+date.strftime("%m_%d_%y")+".txt"
>   output = open(path, "w")
>   counter_list=0
>   timesheets.sort(key= lambda i:(i.department, i.engagement, i.date,
> i.start))
>   for timesheet in timesheets:
>     pad50 = lambda s: s.ljust(50)
>     if counter_list==0:
>       department_name=timesheet.department
>       department=Department.objects.get(name=department_name)
>       dep_code=department.code
>       length=len(dep_code)
>       cust_num='0'*(7-length)+dep_code
>       header_line_raw=date.strftime("%Y/%m/%d")+"\",\""+cust_num
>       progress_line_raw="Progress Billing - "+timesheet.date.strftime
> ("%B, %Y")
>       progress_line=pad50(progress_line_raw)
>       if timesheet.engagement=='':
>         engagment_line_raw="NO SPECIFIC ENGAGEMENT"
>       else:
>         engagement_line_raw=timesheet.engagement.upper() + "
> ENGAGEMENT"
>       try:
>         engagement_line=pad50(engagement_line_raw)
>       except UnboundLocalError:
>         engagement_line_raw="NO SPECIFIC ENGAGEMENT"
>         engagement_line=pad50(engagement_line_raw)
>       output.write("H,\""+header_line_raw+"\"\n")
>       output.write("C,\"C      \",\""+progress_line+"\"\n")
>       output.write("C,\"C      \",\""+engagement_line+"\"\n")
>     else:
>       if timesheet.engagement!=timesheets[counter_list-1].engagement:
>         department_name=timesheet.department
>         department=Department.objects.get(name=department_name)
>         dep_code=department.code
>         length=len(dep_code)
>         cust_num='0'*(7-length)+dep_code
>         header_line_raw=date.strftime("%Y/%m/%d")+"\",\""+cust_num
>         progress_line_raw="Progress Billing - "+timesheet.date.strftime
> ("%B, %Y")
>         progress_line=pad50(progress_line_raw)
>         if timesheet.engagement=='':
>           engagment_line_raw="NO SPECIFIC ENGAGEMENT"
>         else:
>           engagement_line_raw=timesheet.engagement.upper() + "
> ENGAGEMENT"
>         try:
>           engagement_line=pad50(engagement_line_raw)
>         except UnboundLocalError:
>           engagement_line_raw="NO SPECIFIC ENGAGEMENT"
>           engagement_line=pad50(engagement_line_raw)
>         output.write("H,\""+header_line_raw+"\"\n")
>         output.write("C,\"C      \",\""+progress_line+"\"\n")
>         output.write("C,\"C      \",\""+engagement_line+"\"\n")
>     if timesheet.technician != 'No Specific Tech':  #This section
> writes the technician and hours line
>       first, last= timesheet.technician.split(' ')
>       if first=="Danielle" and last=="St. Romain":
>         title="No Specific Title"
>       else:
>         tech=User.objects.get(Q(first_name=first) & Q(last_name=last))
>         userprof_id=(tech.id + 1)
>         userprof=UserProfile.objects.get(id=userprof_id)
>         if userprof.title=='':
>           title="No Specific Title"
>         else:
>           title=userprof.title
>     if timesheet.technician == 'No Specific Tech':
>       title='No Specific Title'
>       tech_hours_raw=title+": "+timesheet.technician+",
> "+timesheet.date.strftime("%m/%d/%y")+", "+ str(timesheet.billtime) +"
> hrs."
>     else:
>       tech_hours_raw=title+": "+first+" "+last+",
> "+timesheet.date.strftime("%m/%d/%y")+", "+ str(timesheet.billtime) +"
> hrs."
>     tech_hours_line=pad50(tech_hours_raw)
>     output.write("S, [Timesheet data for timesheet #"+str(timesheet.id)
> +"]\n")
>     billtime_raw=str(timesheet.billtime)
>     blength=len(billtime_raw)
>     billtime='0'*(8-blength)+billtime_raw
>     if len(str(timesheet.labor_code))>7:
>       labor_code_raw=str(labor[timesheet.labor_code])
>     else:
>       labor_code_raw=str(timesheet.labor_code)
>     llength=len(labor_code_raw)
>     labor_code=labor_code_raw+' '*(7-llength)
>     billtime_line=labor_code+"\",\""+billtime
>     output.write("M,\""+billtime_line+"\"\n")
>     lines=[]
>     pre_parse = ''
>     pre_parse = str(timesheet.description)
>     if len(pre_parse)<50:
>       string=pad50(pre_parse)
>       lines.append(string)
>       lines.append(50*' ')
>     else:
>       lines = (map(pad50,textwrap.wrap(pre_parse,50)))
>     counter=0
>     for line in lines:
>       if counter % 2 == 0:
>         try:
>           if lines[counter+1]:
>             output.write("C,\"C      \",\""+line+"\"")
>         except:
>           output.write("C,\"C      \",\""+line+"\"\n")
>       else:
>         output.write(",\""+line+"\"\n")
>       counter+=1
>     output.write("C,\"C      \",\""+tech_hours_line+"\"\n")
>     if timesheet.ctsytime > 0.00:
>       ctsy_time=str(timesheet.ctsytime)
>       clength=len(ctsy_time)
>       ctsy='0'*(8-clength)+ctsy_time
>       output.write("M,\"CTSY   \",\""+ctsy+"\"\n")
>     counter_list+=1
>   return None
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to