Пример #1
0
        else:
            print "It looks like you are missing a config.ini file!"
            print "Create one using the config.ini.sample"
            raise SystemExit
        username = parser.get('comcast', 'username')
        password = parser.get('comcast', 'password')
        nma_api_key = parser.get('notify_my_android', 'api')

    # Get command line options
    args = sys.argv[1:]

    usage = "Usage: comcastBandwidth [-v[v]] [-w] [--warn-num=NUM] [-a]"
    parser = OptionParser(usage)
    parser.add_option("-v", "--verbose",
                      action="store_true",
                      dest="verbose",
                      default=False,
                      help="Print status messages to the display")
    parser.add_option("--vv",
                      action="store_true",
                      dest="really_verbose",
                      default=False,
                      help="Print status messages to the display in more detail")
    parser.add_option("-w",
                      action="store_true",
                      dest="warnMode",
                      default=False,
                      help="Only output if usage above given value"
                           "  [default: 200GB]")
    parser.add_option("--warn-num",
                      dest="warn",
Пример #2
0
    import sys
    from ConfigParser import SafeConfigParser

    # analisar o ficheiro config
    parser = SafeConfigParser()
    parser.read('raspadar.conf')
    default_input = os.path.abspath(parser.get('txt2taggedtext', 'sourcedir'))
    default_output = os.path.abspath(parser.get('txt2taggedtext', 'targetdir'))

    # analisar as opções da linha de comandos
    import optparse
    # print 'ARGV      :', sys.argv[1:]
    parser = optparse.OptionParser()
    parser.add_option('-i', '--input', 
                      dest="input", 
                      default="",
                      help='Input file or directory'
                      )
    parser.add_option('-o', '--output', 
                      dest="output", 
                      default="",
                      help='Output file or directory'
                      )
    parser.add_option('-v', '--verbose',
                      dest="verbose",
                      default=False,
                      action="store_true",
                      help='Print verbose information',
                      )
    parser.add_option('-p', '--picky',
                      dest="picky",
Пример #3
0
        else:
            print "It looks like you are missing a config.ini file!"
            print "Create one using the config.ini.sample"
            raise SystemExit
        username = parser.get('comcast', 'username')
        password = parser.get('comcast', 'password')
        nma_api_key = parser.get('notify_my_android', 'api')

    # Get command line options
    args = sys.argv[1:]

    usage = "Usage: comcastBandwidth [-v[v]] [-w] [--warn-num=NUM] [-a]"
    parser = OptionParser(usage)
    parser.add_option("-v", "--verbose",
                    action="store_true",
                    dest="verbose",
                    default=False,
                    help="Print status messages to the display")
    parser.add_option("--vv",
                    action="store_true",
                    dest="really_verbose",
                    default=False,
                    help="Print status messages to the display in more detail")
    parser.add_option("-w",
                    action="store_true",
                    dest="warnMode",
                    default=False,
                    help="Only output if usage above given value"
                         "  [default: 200GB]")
    parser.add_option("--warn-num",
                    dest="warn",
def main():
   # get settings from external file
    config_file = 'settings.ini'
    parser = SafeConfigParser()
    parser.read(config_file)

    # set working directory
    # take default from settings or set something here
    #baseDir = parser.get('settings', 'baseDir')
    baseDir = "/opt/pytest"
    os.chdir(baseDir)
    
    # login info for non-oauth apis like provisioning...
    loginUser = parser.get('settings', 'loginUser')
    loginPass = parser.get('settings', 'loginPass')
    loginDomain = parser.get('settings', 'loginDomain')
    loginEmail = loginUser + '@' + loginDomain
    loginURL = 'http://' + loginDomain
    
    # contacts stuff
    postUrl = "".join(["http://www.google.com/m8/feeds/contacts/",loginDomain,"/full"])
    
    # oath stuff
    consumerKey = loginDomain
    consumerSecret = parser.get('settings', 'oauth_secret')
    
    # logging info
    todaysDate = time.strftime('%Y-%m-%d')

    # add googleSource
    googleSource = loginDomain + ".abook.audit.script"
     
    # debug?
    debug = True     

    # matching calendar titles
    userString = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    
    usage = "usage: %prog [options] uni"
    parser = OptionParser(usage=usage)
    parser.add_option("-t", "--title", dest="userString", default=userString, metavar="TITLE", help="Delete all with titles matching your input string. Use quotes or backslashes to escape. Can take regexes.")
    (options, args) = parser.parse_args()
    userString = options.userString
    
    print "user String is " + userString


    #===============================================================================
    # Open Calendar Client, Contacts Service
    #===============================================================================

    calendar_client = gdata.calendar.client.CalendarClient(googleSource)
    calendar_client.auth_token = gdata.gauth.TwoLeggedOAuthHmacToken(consumerKey, consumerSecret, loginEmail)

    def openGoogleContactsService(loginEmail, loginPass, googleSource):
        # open Contacts Service connection
        contacts_service = gdata.contacts.service.ContactsService()
        contacts_service.email = loginEmail
        contacts_service.password = loginPass
        contacts_service.source = googleSource
        contacts_service.ProgrammaticLogin()
        return contacts_service
    # end def OpenGoogleContactsService()
    
    contacts_service = openGoogleContactsService(loginEmail, loginPass, googleSource)
    
    #===============================================================================
    # Listing of current calendars
    #===============================================================================

    currentCals = returnFundCalsSet(calendar_client)
    
    if False and debug:
        print "Current Calendars: \n"
        for i, a_calendar in enumerate(currentCals):
            print '\t%s. %s' % (i, a_calendar,)
            
    # get listing of all current shared abook entries
    currentAddrsList = returnFundAddrsList(contacts_service, loginDomain)        
    
    if debug:
        print "All addresses in address book:"
        for i, addrEntry in enumerate(currentAddrsList, start=1):
            print '\t%s. %s, %s' % (i, addrEntry.title.text, addrEntry.email[0].address)

   
    def eliminate(addrEntry, calSet, userString):
        for email in addrEntry.email:
                if email.address in calSet: 
                    # found in calendars - do not delete
                    return False 
                elif re.search(userString, addrEntry.title.text):
                    # not found, matches string - delete
                    return True
        # otherwise, do not delete
        return False

    addrsToDelete = [addr for addr in currentAddrsList if eliminate(addr, currentCals, userString)]

    print "Would delete these..."
    for i,addrEntry in enumerate(addrsToDelete):
        print '\t%s. %s, %s' % (i, addrEntry.title.text, addrEntry.email[0].address)
    
    if len(addrsToDelete) == 0 :
        print "(none)"
    
    deleteThem = False
    
    while True:
       userOK = raw_input('Proceed? (y):  ')
       if not userOK:
           break
       elif userOK.lower() == "y" or userOK.lower() == "y":
           deleteThem = True
           break
       else:
           break
    
    if deleteThem:
        for addrEntry in addrsToDelete:
            print 'Deleting %s...' % (addrEntry.title.text)
            contacts_service.DeleteContact(addrEntry.GetEditLink().href)
    else:
        print "Exiting..."