On February 5, 2015 12:33:56 PM EST, Bob Williams <li...@barrowhillfarm.org.uk> wrote: >-----BEGIN PGP SIGNED MESSAGE----- >Hash: SHA1 > >On 05/02/15 14:59, DaveA wrote: >> >>
Sorry my last message was in html, and indentation trashed . I just installed k9 on my tablet and hadn't yet found the setting for text-only. Let m know if this one is also messed up. >> >> I'd put these Values into a class, and make a list of instances. If >> you're not yet comfortable with that, it would also be possible to >> make a list per "paragraph", and use zip to combine them, as >> already suggested. >> >I also felt that there was something wrong with that long list of >variables. However, I'm new to classes, so I'll need to do some >background reading. Thank you for the pointer. You don't need much class understanding at all for this. Something like: class Job: def __init__(self, retain, srcpath, suffix, syncpath, snappath, ...): self.retain = retain = datetime.timedelta (days = retain) self.srcpath = os.path.join (srcpath, suffix) self.syncpath = os.path.join (.... Notice that in the above method, the object is called self, while in the loop in main it'll be called job, or whatever you use as a loop variable. > >> The class would hold retain, srcpath, syncpath, snappath, etc. And >> your list would have 7 instances of that class currently, >> corresponding to your doc, pic, misc, ... >> >> That list would be THE global, replacing these 35 or so. It would >> be populated something like: >> >> def initialize (worklist=[]): worklist . append (Job (90, >> src_path, "Documents", "documents", "docsnaps") worklist .append >> (Job (90, src_path, "Pictures", ... .... return worklist (Reformatting ) def initialize (worklist=[]): worklist . append (Job (90, src_path, "Documents", "documents", "docsnaps") worklist .append(Job (90, src_path, "Pictures", ... .... return worklist >> >> Now all the joins and globs are done in the Job initializer, just >> once. >> >>> >>> def main(): print("Backing up ", src_path, "/Documents\n", >>> sep='') do_sync(doc_srcpath, doc_syncpath) >>> create_snaps(doc_syncpath, doc_snappath) print("Documents backup >>> completed.") expire_snaps(doc_snaplist, today, doc_retain) >> >> At this point main becomes something like >> def main (): jobs = initialize () for job in jobs: do_sync (job.srcpath, job.syncpath) create_snaps (job.syncpath, job.snappath) expire_snaps (job.snaplist, ... -- Sent from my Android device with K-9 Mail. Please excuse my brevity. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor