Exemple #1
0
def main():
    larg_parser = core.larg.LatusArg(
        "securely syncs a folder to cloud storage")
    larg_parser.parser.add_argument('-p',
                                    '--password',
                                    required=True,
                                    help="latus password")
    larg_parser.parser.add_argument('-l',
                                    '--local',
                                    metavar='path',
                                    required=True,
                                    help="latus folder")
    larg_parser.parser.add_argument('-c',
                                    '--cloud',
                                    metavar='path',
                                    required=True,
                                    help="cloud folder")
    args = larg_parser.parse()

    keyboard_event_handle = win32event.CreateEvent(None, 0, 0, None)
    sync = core.sync.Sync(args.password,
                          args.local,
                          args.cloud,
                          exit_event_handle=keyboard_event_handle,
                          verbose=args.verbose)
    sync.start()
    input('hit enter to exit')
    win32event.PulseEvent(keyboard_event_handle)
Exemple #2
0
 def Write(self):
     try:
         conf = ConfigParser.ConfigParser()
         for sect in self._settings:
             if not conf.has_section(sect):
                 conf.add_section(sect)
                 for name in self._settings[sect][1]:
                     val = self._settings[sect][1][name]
                     if self._settings[sect][0]:  # is binary?
                         val = binascii.b2a_hex(val)
                     conf.set(sect, option=name, value=val)
         conf.write(file(self._filename, 'w'))
     except ConfigParser.Error:
         return False
     else:
         if sys.platform.startswith("win"):
             import win32event, win32api
             # raise the event so other programs can reload config
             hEvent = None
             try:
                 hEvent = win32event.CreateEvent(None, True, False,
                                                 CONFIG_EVENT)
                 win32event.PulseEvent(hEvent)
                 win32api.CloseHandle(hEvent)
             except win32api.error, e:
                 if hEvent is not None:
                     win32api.CloseHandle(hEvent)
                 print "Event Failed", str(e)
         return True
Exemple #3
0
def wake_workers():
    """ Try to wake workers if possible. If we fail we must wait until
    the worker polls next, so its not a big deal.
    """
    print "Waking workers %s" % (children, )
    try:
        for i in range(config.WORKERS):
            win32event.PulseEvent(SyncEvent)

        return
    except AttributeError, e:
        pass
Exemple #4
0
def terminate_children():
    try:
        for pid in children:
            win32event.PulseEvent(TerminateEvent)

        return
    except AttributeError:
        pass

    for pid in children:
        try:
            #print "Terminating child %s" % pid
            os.kill(pid, signal.SIGINT)
        except:
            pass
Exemple #5
0
 def _set_state(self, value):
     self._state = value
     event = self._get_state_event(value)
     win32event.PulseEvent(event)
Exemple #6
0
 def pulse (self):
   """Pulse (ie fire once and stop) the event"""
   win32event.PulseEvent (self.event)
Exemple #7
0
 def trigger_all_events(self):
     for win32event_handle in self.win32event_handles:
         win32event.PulseEvent(win32event_handle)
     for evt in self.events:
         evt.set()
     self.exit_control_flag = True
Exemple #8
0
def eventTriggered(evt1, evt2, evt3):
    print("Triggered")
    print(evt1)
    print(evt2)
    print(win32evtlog.EvtRender(evt3, win32evtlog.EvtRenderEventXml))
    win32event.PulseEvent(evtHandle)