Logo Search packages:      
Sourcecode: ubuntuone-client version File versions

u1fsfsm.py

00001 """This is a generated python file"""
# make pylint accept this
# pylint: disable-msg=C0301
state_machine = {'events': {u'AQ_DIR_DELETE_ERROR': [{'ACTION': u'md.create(path=path, uuid=uuid, type=type) aq.query(uuid=uuid)',
                                      'ACTION_FUNC': u'',
                                      'COMMENTS': u'the user deleted something we couldnt delete from the server. Re create.',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'T',
                                                     u'not_available': u'F'},
                                      'STATE': {u'changed': u'NA',
                                                u'has_metadata': u'F',
                                                u'is_directory': u'NA'},
                                      'STATE_OUT': {u'changed': u'NONE',
                                                    u'has_metadata': u'T',
                                                    u'is_directory': u'T'}},
                                     {'ACTION': u'md.create(path=path, uuid=uuid, type=type) aq.query(uuid=uuid)',
                                      'ACTION_FUNC': u'',
                                      'COMMENTS': u'the user deleted something we couldnt delete from the server. Re create.',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'F',
                                                     u'not_available': u'T'},
                                      'STATE': {u'changed': u'NA',
                                                u'has_metadata': u'F',
                                                u'is_directory': u'NA'},
                                      'STATE_OUT': {u'changed': u'NONE',
                                                    u'has_metadata': u'T',
                                                    u'is_directory': u'T'}},
                                     {'ACTION': u'NA',
                                      'ACTION_FUNC': u'',
                                      'COMMENTS': u'',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'NA',
                                                     u'not_available': u'*'},
                                      'STATE': {u'changed': u'NA',
                                                u'has_metadata': u'F',
                                                u'is_directory': u'NA'},
                                      'STATE_OUT': {u'changed': u'*',
                                                    u'has_metadata': u'*',
                                                    u'is_directory': u'*'}},
                                     {'ACTION': u'NA',
                                      'ACTION_FUNC': u'',
                                      'COMMENTS': u'',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'*',
                                                     u'not_available': u'NA'},
                                      'STATE': {u'changed': u'NA',
                                                u'has_metadata': u'F',
                                                u'is_directory': u'NA'},
                                      'STATE_OUT': {u'changed': u'*',
                                                    u'has_metadata': u'*',
                                                    u'is_directory': u'*'}},
                                     {'ACTION': u'NA',
                                      'ACTION_FUNC': u'',
                                      'COMMENTS': u'',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'*',
                                                     u'not_available': u'NA'},
                                      'STATE': {u'changed': u'*',
                                                u'has_metadata': u'T',
                                                u'is_directory': u'*'},
                                      'STATE_OUT': {u'changed': u'*',
                                                    u'has_metadata': u'*',
                                                    u'is_directory': u'*'}},
                                     {'ACTION': u'NA',
                                      'ACTION_FUNC': u'',
                                      'COMMENTS': u'',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'NA',
                                                     u'not_available': u'*'},
                                      'STATE': {u'changed': u'*',
                                                u'has_metadata': u'T',
                                                u'is_directory': u'*'},
                                      'STATE_OUT': {u'changed': u'*',
                                                    u'has_metadata': u'*',
                                                    u'is_directory': u'*'}},
                                     {'ACTION': u'CONFLICT, recreate from deleted uuid',
                                      'ACTION_FUNC': u'',
                                      'COMMENTS': u'the user deleted something we could not delete from the server and replaced it with stuff. Move user files to conflict and re download stuff from the server',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'F',
                                                     u'not_available': u'T'},
                                      'STATE': {u'changed': u'!SERVER',
                                                u'has_metadata': u'T',
                                                u'is_directory': u'*'},
                                      'STATE_OUT': {u'changed': u'NONE',
                                                    u'has_metadata': u'T',
                                                    u'is_directory': u'T'}},
                                     {'ACTION': u'DESPAIR',
                                      'ACTION_FUNC': u'',
                                      'COMMENTS': u'the user deleted something we could not delete from the server and replaced it with stuff. Move user files to conflict and re download stuff from the server',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'F',
                                                     u'not_available': u'T'},
                                      'STATE': {u'changed': u'SERVER',
                                                u'has_metadata': u'T',
                                                u'is_directory': u'*'},
                                      'STATE_OUT': {u'changed': u'*',
                                                    u'has_metadata': u'*',
                                                    u'is_directory': u'*'}},
                                     {'ACTION': u'CONFLICT',
                                      'ACTION_FUNC': u'',
                                      'COMMENTS': u'the user deleted something we could not delete from the server and replaced it with stuff. Move user files to conflict and re download stuff from the server',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'T',
                                                     u'not_available': u'F'},
                                      'STATE': {u'changed': u'*',
                                                u'has_metadata': u'T',
                                                u'is_directory': u'*'},
                                      'STATE_OUT': {u'changed': u'NONE',
                                                    u'has_metadata': u'T',
                                                    u'is_directory': u'T'}},
                                     {'ACTION': u'PANIC',
                                      'ACTION_FUNC': u'',
                                      'COMMENTS': u'',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'F',
                                                     u'not_available': u'F'},
                                      'STATE': {u'changed': u'*',
                                                u'has_metadata': u'*',
                                                u'is_directory': u'*'},
                                      'STATE_OUT': {u'changed': u'NONE',
                                                    u'has_metadata': u'T',
                                                    u'is_directory': u'T'}},
                                     {'ACTION': u'NA',
                                      'ACTION_FUNC': u'',
                                      'COMMENTS': u'',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'T',
                                                     u'not_available': u'T'},
                                      'STATE': {u'changed': u'*',
                                                u'has_metadata': u'*',
                                                u'is_directory': u'*'},
                                      'STATE_OUT': {u'changed': u'*',
                                                    u'has_metadata': u'*',
                                                    u'is_directory': u'*'}}],
            u'AQ_DIR_DELETE_OK': [{'ACTION': u'pass',
                                   'ACTION_FUNC': u'nothing',
                                   'COMMENTS': u'vanilla case',
                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                  u'hash_eq_server_hash': u'NA',
                                                  u'not_authorized': u'NA',
                                                  u'not_available': u'NA'},
                                   'STATE': {u'changed': u'NA',
                                             u'has_metadata': u'F',
                                             u'is_directory': u'NA'},
                                   'STATE_OUT': {u'changed': u'=',
                                                 u'has_metadata': u'=',
                                                 u'is_directory': u'='}},
                                  {'ACTION': u'pass',
                                   'ACTION_FUNC': u'nothing',
                                   'COMMENTS': u'we deleted something the user recreated, someone else is taking care of uploading this changes',
                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                  u'hash_eq_server_hash': u'NA',
                                                  u'not_authorized': u'NA',
                                                  u'not_available': u'NA'},
                                   'STATE': {u'changed': u'NONE',
                                             u'has_metadata': u'T',
                                             u'is_directory': u'T'},
                                   'STATE_OUT': {u'changed': u'=',
                                                 u'has_metadata': u'=',
                                                 u'is_directory': u'='}},
                                  {'ACTION': u'pass',
                                   'ACTION_FUNC': u'nothing',
                                   'COMMENTS': u'we deleted something the user recreated, someone else is taking care of uploading this changes',
                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                  u'hash_eq_server_hash': u'NA',
                                                  u'not_authorized': u'NA',
                                                  u'not_available': u'NA'},
                                   'STATE': {u'changed': u'LOCAL',
                                             u'has_metadata': u'T',
                                             u'is_directory': u'T'},
                                   'STATE_OUT': {u'changed': u'=',
                                                 u'has_metadata': u'=',
                                                 u'is_directory': u'='}},
                                  {'ACTION': u'DESPAIR',
                                   'ACTION_FUNC': u'DESPAIR',
                                   'COMMENTS': u'somehow we lost ordering of stuff and we got a new file and changes since we tried to delete this file',
                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                  u'hash_eq_server_hash': u'NA',
                                                  u'not_authorized': u'NA',
                                                  u'not_available': u'NA'},
                                   'STATE': {u'changed': u'SERVER',
                                             u'has_metadata': u'T',
                                             u'is_directory': u'*'},
                                   'STATE_OUT': {u'changed': u'*',
                                                 u'has_metadata': u'*',
                                                 u'is_directory': u'*'}},
                                  {'ACTION': u'pass',
                                   'ACTION_FUNC': u'nothing',
                                   'COMMENTS': u'',
                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                  u'hash_eq_server_hash': u'NA',
                                                  u'not_authorized': u'NA',
                                                  u'not_available': u'NA'},
                                   'STATE': {u'changed': u'!SERVER',
                                             u'has_metadata': u'T',
                                             u'is_directory': u'F'},
                                   'STATE_OUT': {u'changed': u'=',
                                                 u'has_metadata': u'=',
                                                 u'is_directory': u'='}}],
            u'AQ_DIR_NEW_ERROR': [{'ACTION': u'pass',
                                   'ACTION_FUNC': u'nothing',
                                   'COMMENTS': u'',
                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                  u'hash_eq_server_hash': u'NA',
                                                  u'not_authorized': u'*',
                                                  u'not_available': u'*'},
                                   'STATE': {u'changed': u'*',
                                             u'has_metadata': u'F',
                                             u'is_directory': u'*'},
                                   'STATE_OUT': {u'changed': u'=',
                                                 u'has_metadata': u'=',
                                                 u'is_directory': u'='}},
                                  {'ACTION': u'log warning\nmd.remove(mdid)',
                                   'ACTION_FUNC': u'file_not_created_remove',
                                   'COMMENTS': u'',
                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                  u'hash_eq_server_hash': u'NA',
                                                  u'not_authorized': u'T',
                                                  u'not_available': u'*'},
                                   'STATE': {u'changed': u'*',
                                             u'has_metadata': u'*',
                                             u'is_directory': u'T'},
                                   'STATE_OUT': {u'changed': u'NA',
                                                 u'has_metadata': u'F',
                                                 u'is_directory': u'NA'}},
                                  {'ACTION': u'log warning (changes that will appear later should fix this)',
                                   'ACTION_FUNC': u'file_not_created_remove',
                                   'COMMENTS': u'',
                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                  u'hash_eq_server_hash': u'NA',
                                                  u'not_authorized': u'F',
                                                  u'not_available': u'*'},
                                   'STATE': {u'changed': u'*',
                                             u'has_metadata': u'*',
                                             u'is_directory': u'T'},
                                   'STATE_OUT': {u'changed': u'NA',
                                                 u'has_metadata': u'F',
                                                 u'is_directory': u'NA'}},
                                  {'ACTION': u'pass',
                                   'ACTION_FUNC': u'nothing',
                                   'COMMENTS': u'',
                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                  u'hash_eq_server_hash': u'NA',
                                                  u'not_authorized': u'*',
                                                  u'not_available': u'*'},
                                   'STATE': {u'changed': u'*',
                                             u'has_metadata': u'*',
                                             u'is_directory': u'F'},
                                   'STATE_OUT': {u'changed': u'=',
                                                 u'has_metadata': u'=',
                                                 u'is_directory': u'='}},
                                  {'ACTION': u'NA',
                                   'ACTION_FUNC': u'',
                                   'COMMENTS': u'',
                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                  u'hash_eq_server_hash': u'NA',
                                                  u'not_authorized': u'NA',
                                                  u'not_available': u'*'},
                                   'STATE': {u'changed': u'*',
                                             u'has_metadata': u'*',
                                             u'is_directory': u'T'},
                                   'STATE_OUT': {u'changed': u'=',
                                                 u'has_metadata': u'=',
                                                 u'is_directory': u'='}}],
            u'AQ_DIR_NEW_OK': [{'ACTION': u'',
                                'ACTION_FUNC': u'nothing',
                                'COMMENTS': u'',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'NONE',
                                          u'has_metadata': u'T',
                                          u'is_directory': u'F'},
                                'STATE_OUT': {u'changed': u'=',
                                              u'has_metadata': u'=',
                                              u'is_directory': u'='}},
                               {'ACTION': u'pass',
                                'ACTION_FUNC': u'nothing',
                                'COMMENTS': u'we got IN_FILE_CHANGED and HQ_HASH_NEW between IN_FILE_NEW and AQ_FILE_NEW_OK',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'LOCAL',
                                          u'has_metadata': u'T',
                                          u'is_directory': u'F'},
                                'STATE_OUT': {u'changed': u'=',
                                              u'has_metadata': u'=',
                                              u'is_directory': u'='}},
                               {'ACTION': u'',
                                'ACTION_FUNC': u'nothing',
                                'COMMENTS': u'the dir was now gone',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'NA',
                                          u'has_metadata': u'F',
                                          u'is_directory': u'NA'},
                                'STATE_OUT': {u'changed': u'=',
                                              u'has_metadata': u'=',
                                              u'is_directory': u'='}},
                               {'ACTION': u'md.set(mdid, server_uuid=server_uuid)\nPANIC',
                                'ACTION_FUNC': u'DESPAIR',
                                'COMMENTS': u'',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'SERVER',
                                          u'has_metadata': u'T',
                                          u'is_directory': u'*'},
                                'STATE_OUT': {u'changed': u'NONE',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'='}},
                               {'ACTION': u'md.set(mdid, server_uuid=server_uuid)\nRESCAN',
                                'ACTION_FUNC': u'new_local_dir_created',
                                'COMMENTS': u'',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'NONE',
                                          u'has_metadata': u'T',
                                          u'is_directory': u'T'},
                                'STATE_OUT': {u'changed': u'=',
                                              u'has_metadata': u'=',
                                              u'is_directory': u'='}}],
            u'AQ_DOWNLOAD_ERROR': [{'ACTION': u'pass',
                                    'ACTION_FUNC': u'nothing',
                                    'COMMENTS': u'',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                   u'hash_eq_server_hash': u'*',
                                                   u'not_authorized': u'T',
                                                   u'not_available': u'F'},
                                    'STATE': {u'changed': u'*',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'*'},
                                    'STATE_OUT': {u'changed': u'=',
                                                  u'has_metadata': u'=',
                                                  u'is_directory': u'='}},
                                   {'ACTION': u'pass',
                                    'ACTION_FUNC': u'nothing',
                                    'COMMENTS': u'',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                   u'hash_eq_server_hash': u'*',
                                                   u'not_authorized': u'F',
                                                   u'not_available': u'T'},
                                    'STATE': {u'changed': u'*',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'*'},
                                    'STATE_OUT': {u'changed': u'=',
                                                  u'has_metadata': u'=',
                                                  u'is_directory': u'='}},
                                   {'ACTION': u'NA',
                                    'ACTION_FUNC': u'',
                                    'COMMENTS': u'',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                   u'hash_eq_server_hash': u'*',
                                                   u'not_authorized': u'T',
                                                   u'not_available': u'T'},
                                    'STATE': {u'changed': u'*',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'*'},
                                    'STATE_OUT': {u'changed': u'*',
                                                  u'has_metadata': u'*',
                                                  u'is_directory': u'*'}},
                                   {'ACTION': u'PANIC',
                                    'ACTION_FUNC': u'DESPAIR',
                                    'COMMENTS': u'',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                   u'hash_eq_server_hash': u'*',
                                                   u'not_authorized': u'F',
                                                   u'not_available': u'F'},
                                    'STATE': {u'changed': u'*',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'*'},
                                    'STATE_OUT': {u'changed': u'=',
                                                  u'has_metadata': u'=',
                                                  u'is_directory': u'='}},
                                   {'ACTION': u'NA',
                                    'ACTION_FUNC': u'',
                                    'COMMENTS': u'',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                   u'hash_eq_server_hash': u'*',
                                                   u'not_authorized': u'*',
                                                   u'not_available': u'NA'},
                                    'STATE': {u'changed': u'*',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'*'},
                                    'STATE_OUT': {u'changed': u'*',
                                                  u'has_metadata': u'*',
                                                  u'is_directory': u'*'}},
                                   {'ACTION': u'NA',
                                    'ACTION_FUNC': u'',
                                    'COMMENTS': u'',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                   u'hash_eq_server_hash': u'*',
                                                   u'not_authorized': u'NA',
                                                   u'not_available': u'*'},
                                    'STATE': {u'changed': u'*',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'*'},
                                    'STATE_OUT': {u'changed': u'*',
                                                  u'has_metadata': u'*',
                                                  u'is_directory': u'*'}},
                                   {'ACTION': u'pass',
                                    'ACTION_FUNC': u'nothing',
                                    'COMMENTS': u'',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                   u'hash_eq_server_hash': u'*',
                                                   u'not_authorized': u'*',
                                                   u'not_available': u'*'},
                                    'STATE': {u'changed': u'*',
                                              u'has_metadata': u'F',
                                              u'is_directory': u'*'},
                                    'STATE_OUT': {u'changed': u'=',
                                                  u'has_metadata': u'=',
                                                  u'is_directory': u'='}}],
            u'AQ_DOWNLOAD_FINISHED': [{'ACTION': u'NA',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                      u'hash_eq_server_hash': u'NA',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'*',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'*'},
                                       'STATE_OUT': {u'changed': u'=',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'NA',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                      u'hash_eq_server_hash': u'*',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'*',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'*'},
                                       'STATE_OUT': {u'changed': u'=',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'pass',
                                       'ACTION_FUNC': u'nothing',
                                       'COMMENTS': u'file was removed while we where downloading',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                      u'hash_eq_server_hash': u'*',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'NA',
                                                 u'has_metadata': u'F',
                                                 u'is_directory': u'*'},
                                       'STATE_OUT': {u'changed': u'=',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'pass',
                                       'ACTION_FUNC': u'nothing',
                                       'COMMENTS': u'cancelled by e.g. SV_HASH_NEW',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                                      u'hash_eq_server_hash': u'T',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'NONE',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'F'},
                                       'STATE_OUT': {u'changed': u'=',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'NA',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'NONE, T, F is a falacy (NONE implies server_hash == local_hash)',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                                      u'hash_eq_server_hash': u'T',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'NONE',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'F'},
                                       'STATE_OUT': {u'changed': u'*',
                                                     u'has_metadata': u'*',
                                                     u'is_directory': u'*'}},
                                      {'ACTION': u'NA',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'NONE, F, T is a falacy (NONE implies server_hash == local_hash)',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                                      u'hash_eq_server_hash': u'F',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'NONE',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'F'},
                                       'STATE_OUT': {u'changed': u'*',
                                                     u'has_metadata': u'*',
                                                     u'is_directory': u'*'}},
                                      {'ACTION': u'pass',
                                       'ACTION_FUNC': u'nothing',
                                       'COMMENTS': u'cancelled by e.g. SV_HASH_NEW',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                                      u'hash_eq_server_hash': u'F',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'NONE',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'F'},
                                       'STATE_OUT': {u'changed': u'=',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'NA',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'SERVER, T, T is a falacy (SERVER implies server_hash != local_hash)',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                                      u'hash_eq_server_hash': u'T',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'SERVER',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'F'},
                                       'STATE_OUT': {u'changed': u'*',
                                                     u'has_metadata': u'*',
                                                     u'is_directory': u'*'}},
                                      {'ACTION': u'md.commit_partial(uuid, local_hash=hash)',
                                       'ACTION_FUNC': u'commit_file',
                                       'COMMENTS': u'this is the vainilla case',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                                      u'hash_eq_server_hash': u'T',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'SERVER',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'F'},
                                       'STATE_OUT': {u'changed': u'NONE',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'',
                                       'ACTION_FUNC': u'nothing',
                                       'COMMENTS': u'not what we want',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                                      u'hash_eq_server_hash': u'F',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'SERVER',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'F'},
                                       'STATE_OUT': {u'changed': u'LOCAL',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'pass',
                                       'ACTION_FUNC': u'nothing',
                                       'COMMENTS': u'another download is already in progress',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                                      u'hash_eq_server_hash': u'F',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'SERVER',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'F'},
                                       'STATE_OUT': {u'changed': u'=',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'NA',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'LOCAL, T, T is a falacy (LOCAL implies server_hash != local_hash)',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                                      u'hash_eq_server_hash': u'T',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'LOCAL',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'F'},
                                       'STATE_OUT': {u'changed': u'*',
                                                     u'has_metadata': u'*',
                                                     u'is_directory': u'*'}},
                                      {'ACTION': u'pass',
                                       'ACTION_FUNC': u'nothing',
                                       'COMMENTS': u'cancelled by e.g. SV_HASH_NEW',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                                      u'hash_eq_server_hash': u'T',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'LOCAL',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'F'},
                                       'STATE_OUT': {u'changed': u'=',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'pass',
                                       'ACTION_FUNC': u'nothing',
                                       'COMMENTS': u'cancelled by e.g. SV_HASH_NEW',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                                      u'hash_eq_server_hash': u'F',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'LOCAL',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'F'},
                                       'STATE_OUT': {u'changed': u'=',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'pass',
                                       'ACTION_FUNC': u'nothing',
                                       'COMMENTS': u'cancelled by e.g. SV_HASH_NEW',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                                      u'hash_eq_server_hash': u'F',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'LOCAL',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'F'},
                                       'STATE_OUT': {u'changed': u'=',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'pass',
                                       'ACTION_FUNC': u'nothing',
                                       'COMMENTS': u'spurius download finished, ignore',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                                      u'hash_eq_server_hash': u'!NA',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'NONE',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'T'},
                                       'STATE_OUT': {u'changed': u'=',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'merge_from_partial(uuid)',
                                       'ACTION_FUNC': u'merge_directory',
                                       'COMMENTS': u'this is the vanilla case, call merge directories',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                                      u'hash_eq_server_hash': u'T',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'SERVER',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'T'},
                                       'STATE_OUT': {u'changed': u'NONE',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'pass',
                                       'ACTION_FUNC': u'nothing',
                                       'COMMENTS': u'download we are not interested in',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                                      u'hash_eq_server_hash': u'F',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'SERVER',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'T'},
                                       'STATE_OUT': {u'changed': u'SERVER',
                                                     u'has_metadata': u'=',
                                                     u'is_directory': u'='}}],
            u'AQ_FILE_DELETE_ERROR': [{'ACTION': u'md.create(path=path, uuid=uuid, type=type) aq.query(uuid=uuid)',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'the user deleted something we couldnt delete from the server. Re create.',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                      u'hash_eq_server_hash': u'NA',
                                                      u'not_authorized': u'T',
                                                      u'not_available': u'F'},
                                       'STATE': {u'changed': u'NA',
                                                 u'has_metadata': u'F',
                                                 u'is_directory': u'NA'},
                                       'STATE_OUT': {u'changed': u'NONE',
                                                     u'has_metadata': u'T',
                                                     u'is_directory': u'F'}},
                                      {'ACTION': u'md.create(path=path, uuid=uuid, type=type) aq.query(uuid=uuid)',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'the user deleted something we couldnt delete from the server. Re create.',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                      u'hash_eq_server_hash': u'NA',
                                                      u'not_authorized': u'F',
                                                      u'not_available': u'T'},
                                       'STATE': {u'changed': u'NA',
                                                 u'has_metadata': u'F',
                                                 u'is_directory': u'NA'},
                                       'STATE_OUT': {u'changed': u'NONE',
                                                     u'has_metadata': u'T',
                                                     u'is_directory': u'='}},
                                      {'ACTION': u'NA',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                      u'hash_eq_server_hash': u'NA',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'*'},
                                       'STATE': {u'changed': u'NA',
                                                 u'has_metadata': u'F',
                                                 u'is_directory': u'NA'},
                                       'STATE_OUT': {u'changed': u'*',
                                                     u'has_metadata': u'*',
                                                     u'is_directory': u'*'}},
                                      {'ACTION': u'NA',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                      u'hash_eq_server_hash': u'NA',
                                                      u'not_authorized': u'*',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'NA',
                                                 u'has_metadata': u'F',
                                                 u'is_directory': u'NA'},
                                       'STATE_OUT': {u'changed': u'*',
                                                     u'has_metadata': u'*',
                                                     u'is_directory': u'*'}},
                                      {'ACTION': u'NA',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                      u'hash_eq_server_hash': u'NA',
                                                      u'not_authorized': u'*',
                                                      u'not_available': u'NA'},
                                       'STATE': {u'changed': u'*',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'*'},
                                       'STATE_OUT': {u'changed': u'*',
                                                     u'has_metadata': u'*',
                                                     u'is_directory': u'*'}},
                                      {'ACTION': u'NA',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                      u'hash_eq_server_hash': u'NA',
                                                      u'not_authorized': u'NA',
                                                      u'not_available': u'*'},
                                       'STATE': {u'changed': u'*',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'*'},
                                       'STATE_OUT': {u'changed': u'*',
                                                     u'has_metadata': u'*',
                                                     u'is_directory': u'*'}},
                                      {'ACTION': u'CONFLICT, recreate from deleted uuid',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'the user deleted something we could not delete from the server and replaced it with stuff. Move user files to conflict and re download stuff from the server',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                      u'hash_eq_server_hash': u'NA',
                                                      u'not_authorized': u'F',
                                                      u'not_available': u'T'},
                                       'STATE': {u'changed': u'!SERVER',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'*'},
                                       'STATE_OUT': {u'changed': u'NONE',
                                                     u'has_metadata': u'T',
                                                     u'is_directory': u'F'}},
                                      {'ACTION': u'DESPAIR',
                                       'ACTION_FUNC': u'DESPAIR',
                                       'COMMENTS': u'the user deleted something we could not delete from the server and replaced it with stuff. Move user files to conflict and re download stuff from the server',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                      u'hash_eq_server_hash': u'NA',
                                                      u'not_authorized': u'F',
                                                      u'not_available': u'T'},
                                       'STATE': {u'changed': u'SERVER',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'*'},
                                       'STATE_OUT': {u'changed': u'*',
                                                     u'has_metadata': u'*',
                                                     u'is_directory': u'*'}},
                                      {'ACTION': u'CONFLICT',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'the user deleted something we could not delete from the server and replaced it with stuff. Move user files to conflict and re download stuff from the server',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                      u'hash_eq_server_hash': u'NA',
                                                      u'not_authorized': u'T',
                                                      u'not_available': u'F'},
                                       'STATE': {u'changed': u'*',
                                                 u'has_metadata': u'T',
                                                 u'is_directory': u'*'},
                                       'STATE_OUT': {u'changed': u'NONE',
                                                     u'has_metadata': u'T',
                                                     u'is_directory': u'T'}},
                                      {'ACTION': u'PANIC',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                      u'hash_eq_server_hash': u'NA',
                                                      u'not_authorized': u'F',
                                                      u'not_available': u'F'},
                                       'STATE': {u'changed': u'*',
                                                 u'has_metadata': u'*',
                                                 u'is_directory': u'*'},
                                       'STATE_OUT': {u'changed': u'NONE',
                                                     u'has_metadata': u'T',
                                                     u'is_directory': u'F'}},
                                      {'ACTION': u'NA',
                                       'ACTION_FUNC': u'',
                                       'COMMENTS': u'',
                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                      u'hash_eq_server_hash': u'NA',
                                                      u'not_authorized': u'T',
                                                      u'not_available': u'T'},
                                       'STATE': {u'changed': u'*',
                                                 u'has_metadata': u'*',
                                                 u'is_directory': u'*'},
                                       'STATE_OUT': {u'changed': u'*',
                                                     u'has_metadata': u'*',
                                                     u'is_directory': u'*'}}],
            u'AQ_FILE_DELETE_OK': [{'ACTION': u'pass',
                                    'ACTION_FUNC': u'nothing',
                                    'COMMENTS': u'vanilla case',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                   u'hash_eq_server_hash': u'NA',
                                                   u'not_authorized': u'NA',
                                                   u'not_available': u'NA'},
                                    'STATE': {u'changed': u'NA',
                                              u'has_metadata': u'F',
                                              u'is_directory': u'NA'},
                                    'STATE_OUT': {u'changed': u'=',
                                                  u'has_metadata': u'=',
                                                  u'is_directory': u'='}},
                                   {'ACTION': u'pass',
                                    'ACTION_FUNC': u'nothing',
                                    'COMMENTS': u'/c',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                   u'hash_eq_server_hash': u'NA',
                                                   u'not_authorized': u'NA',
                                                   u'not_available': u'NA'},
                                    'STATE': {u'changed': u'NONE',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'F'},
                                    'STATE_OUT': {u'changed': u'=',
                                                  u'has_metadata': u'=',
                                                  u'is_directory': u'='}},
                                   {'ACTION': u'pass',
                                    'ACTION_FUNC': u'nothing',
                                    'COMMENTS': u'we deleted something the user recreated, someone else is taking care of uploading this changes',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                   u'hash_eq_server_hash': u'NA',
                                                   u'not_authorized': u'NA',
                                                   u'not_available': u'NA'},
                                    'STATE': {u'changed': u'LOCAL',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'F'},
                                    'STATE_OUT': {u'changed': u'=',
                                                  u'has_metadata': u'=',
                                                  u'is_directory': u'='}},
                                   {'ACTION': u'DESPAIR',
                                    'ACTION_FUNC': u'DESPAIR',
                                    'COMMENTS': u'somehow we lost ordering of stuff and we got a new file and changes since we tried to delete this file',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                   u'hash_eq_server_hash': u'NA',
                                                   u'not_authorized': u'NA',
                                                   u'not_available': u'NA'},
                                    'STATE': {u'changed': u'SERVER',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'*'},
                                    'STATE_OUT': {u'changed': u'*',
                                                  u'has_metadata': u'*',
                                                  u'is_directory': u'*'}},
                                   {'ACTION': u'pass',
                                    'ACTION_FUNC': u'nothing',
                                    'COMMENTS': u'',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                   u'hash_eq_server_hash': u'NA',
                                                   u'not_authorized': u'NA',
                                                   u'not_available': u'NA'},
                                    'STATE': {u'changed': u'!SERVER',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'T'},
                                    'STATE_OUT': {u'changed': u'=',
                                                  u'has_metadata': u'=',
                                                  u'is_directory': u'='}}],
            u'AQ_FILE_MOVE_OK': [{'ACTION': u'',
                                  'ACTION_FUNC': u'nothing',
                                  'COMMENTS': u'deleted locally',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                 u'hash_eq_server_hash': u'NA',
                                                 u'not_authorized': u'NA',
                                                 u'not_available': u'NA'},
                                  'STATE': {u'changed': u'NA',
                                            u'has_metadata': u'F',
                                            u'is_directory': u'NA'},
                                  'STATE_OUT': {u'changed': u'*',
                                                u'has_metadata': u'*',
                                                u'is_directory': u'*'}},
                                 {'ACTION': u'',
                                  'ACTION_FUNC': u'nothing',
                                  'COMMENTS': u'vanilla case',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                 u'hash_eq_server_hash': u'NA',
                                                 u'not_authorized': u'NA',
                                                 u'not_available': u'NA'},
                                  'STATE': {u'changed': u'*',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'*'},
                                  'STATE_OUT': {u'changed': u'=',
                                                u'has_metadata': u'T',
                                                u'is_directory': u'='}}],
            u'AQ_FILE_NEW_ERROR': [{'ACTION': u'pass',
                                    'ACTION_FUNC': u'nothing',
                                    'COMMENTS': u'',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                   u'hash_eq_server_hash': u'NA',
                                                   u'not_authorized': u'*',
                                                   u'not_available': u'*'},
                                    'STATE': {u'changed': u'NA',
                                              u'has_metadata': u'F',
                                              u'is_directory': u'NA'},
                                    'STATE_OUT': {u'changed': u'=',
                                                  u'has_metadata': u'=',
                                                  u'is_directory': u'='}},
                                   {'ACTION': u'CONFLICT',
                                    'ACTION_FUNC': u'file_not_created_remove',
                                    'COMMENTS': u'',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                   u'hash_eq_server_hash': u'NA',
                                                   u'not_authorized': u'T',
                                                   u'not_available': u'*'},
                                    'STATE': {u'changed': u'*',
                                              u'has_metadata': u'*',
                                              u'is_directory': u'F'},
                                    'STATE_OUT': {u'changed': u'NA',
                                                  u'has_metadata': u'F',
                                                  u'is_directory': u'NA'}},
                                   {'ACTION': u'CONFLICT',
                                    'ACTION_FUNC': u'file_not_created_remove',
                                    'COMMENTS': u'',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                   u'hash_eq_server_hash': u'NA',
                                                   u'not_authorized': u'F',
                                                   u'not_available': u'*'},
                                    'STATE': {u'changed': u'*',
                                              u'has_metadata': u'*',
                                              u'is_directory': u'F'},
                                    'STATE_OUT': {u'changed': u'NA',
                                                  u'has_metadata': u'F',
                                                  u'is_directory': u'NA'}},
                                   {'ACTION': u'pass',
                                    'ACTION_FUNC': u'nothing',
                                    'COMMENTS': u'',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                   u'hash_eq_server_hash': u'NA',
                                                   u'not_authorized': u'*',
                                                   u'not_available': u'*'},
                                    'STATE': {u'changed': u'*',
                                              u'has_metadata': u'*',
                                              u'is_directory': u'T'},
                                    'STATE_OUT': {u'changed': u'=',
                                                  u'has_metadata': u'=',
                                                  u'is_directory': u'='}},
                                   {'ACTION': u'NA',
                                    'ACTION_FUNC': u'',
                                    'COMMENTS': u'',
                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                   u'hash_eq_server_hash': u'NA',
                                                   u'not_authorized': u'NA',
                                                   u'not_available': u'*'},
                                    'STATE': {u'changed': u'*',
                                              u'has_metadata': u'*',
                                              u'is_directory': u'F'},
                                    'STATE_OUT': {u'changed': u'=',
                                                  u'has_metadata': u'=',
                                                  u'is_directory': u'='}}],
            u'AQ_FILE_NEW_OK': [{'ACTION': u'md.set(mdid, server_uuid=server_uuid)',
                                 'ACTION_FUNC': u'new_local_file_created',
                                 'COMMENTS': u'',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'NONE',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'F'},
                                 'STATE_OUT': {u'changed': u'=',
                                               u'has_metadata': u'=',
                                               u'is_directory': u'='}},
                                {'ACTION': u'md.set(mdid, server_uuid=server_uuid)',
                                 'ACTION_FUNC': u'new_local_file_created',
                                 'COMMENTS': u'we got IN_FILE_CHANGED and HQ_HASH_NEW between IN_FILE_NEW and AQ_FILE_NEW_OK',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'LOCAL',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'F'},
                                 'STATE_OUT': {u'changed': u'=',
                                               u'has_metadata': u'=',
                                               u'is_directory': u'='}},
                                {'ACTION': u'pass',
                                 'ACTION_FUNC': u'nothing',
                                 'COMMENTS': u'file deleted locally',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'NA',
                                           u'has_metadata': u'F',
                                           u'is_directory': u'NA'},
                                 'STATE_OUT': {u'changed': u'=',
                                               u'has_metadata': u'=',
                                               u'is_directory': u'='}},
                                {'ACTION': u'md.set(mdid, server_uuid=server_uuid)\nPANIC',
                                 'ACTION_FUNC': u'DESPAIR',
                                 'COMMENTS': u'',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'SERVER',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'*'},
                                 'STATE_OUT': {u'changed': u'NONE',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'='}},
                                {'ACTION': u'pass',
                                 'ACTION_FUNC': u'nothing',
                                 'COMMENTS': u'',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'NONE',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'T'},
                                 'STATE_OUT': {u'changed': u'=',
                                               u'has_metadata': u'=',
                                               u'is_directory': u'='}}],
            u'AQ_MOVE_ERROR': [{'ACTION': u'md.create(path=path, uuid=target_uuid, type=type)\naq.query(uuid=target_uuid)',
                                'ACTION_FUNC': u'',
                                'COMMENTS': u'deleted after local move and move failed on server. ',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'NA',
                                          u'has_metadata': u'F',
                                          u'is_directory': u'NA'},
                                'STATE_OUT': {u'changed': u'NONE',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'='}},
                               {'ACTION': u'move file to conflict\nquery(uuid=source.parent)\nquery(uuid=dest.parent)\n',
                                'ACTION_FUNC': u'',
                                'COMMENTS': u'something bad happened. Conflict and rescan',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'*',
                                          u'has_metadata': u'T',
                                          u'is_directory': u'*'},
                                'STATE_OUT': {u'changed': u'NONE',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'='}}],
            u'AQ_MOVE_OK': [{'ACTION': u'pass',
                             'ACTION_FUNC': u'nothing',
                             'COMMENTS': u'deleted after move',
                             'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                            u'hash_eq_server_hash': u'NA',
                                            u'not_authorized': u'NA',
                                            u'not_available': u'NA'},
                             'STATE': {u'changed': u'NA',
                                       u'has_metadata': u'F',
                                       u'is_directory': u'NA'},
                             'STATE_OUT': {u'changed': u'=',
                                           u'has_metadata': u'=',
                                           u'is_directory': u'='}},
                            {'ACTION': u'pass',
                             'ACTION_FUNC': u'nothing',
                             'COMMENTS': u'everything good',
                             'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                            u'hash_eq_server_hash': u'NA',
                                            u'not_authorized': u'NA',
                                            u'not_available': u'NA'},
                             'STATE': {u'changed': u'*',
                                       u'has_metadata': u'T',
                                       u'is_directory': u'*'},
                             'STATE_OUT': {u'changed': u'=',
                                           u'has_metadata': u'=',
                                           u'is_directory': u'='}}],
            u'AQ_UPLOAD_ERROR': [{'ACTION': u'pass',
                                  'ACTION_FUNC': u'nothing',
                                  'COMMENTS': u'',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                 u'hash_eq_server_hash': u'*',
                                                 u'not_authorized': u'*',
                                                 u'not_available': u'*'},
                                  'STATE': {u'changed': u'NA',
                                            u'has_metadata': u'F',
                                            u'is_directory': u'NA'},
                                  'STATE_OUT': {u'changed': u'=',
                                                u'has_metadata': u'=',
                                                u'is_directory': u'='}},
                                 {'ACTION': u'NA',
                                  'ACTION_FUNC': u'',
                                  'COMMENTS': u'',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                 u'hash_eq_server_hash': u'*',
                                                 u'not_authorized': u'*',
                                                 u'not_available': u'NA'},
                                  'STATE': {u'changed': u'*',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'*'},
                                  'STATE_OUT': {u'changed': u'*',
                                                u'has_metadata': u'*',
                                                u'is_directory': u'*'}},
                                 {'ACTION': u'NA',
                                  'ACTION_FUNC': u'',
                                  'COMMENTS': u'',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                 u'hash_eq_server_hash': u'*',
                                                 u'not_authorized': u'NA',
                                                 u'not_available': u'*'},
                                  'STATE': {u'changed': u'*',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'*'},
                                  'STATE_OUT': {u'changed': u'*',
                                                u'has_metadata': u'*',
                                                u'is_directory': u'*'}},
                                 {'ACTION': u'',
                                  'ACTION_FUNC': u'nothing',
                                  'COMMENTS': u'',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                 u'hash_eq_server_hash': u'*',
                                                 u'not_authorized': u'F',
                                                 u'not_available': u'F'},
                                  'STATE': {u'changed': u'*',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'F'},
                                  'STATE_OUT': {u'changed': u'=',
                                                u'has_metadata': u'=',
                                                u'is_directory': u'='}},
                                 {'ACTION': u'NA',
                                  'ACTION_FUNC': u'',
                                  'COMMENTS': u'',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                 u'hash_eq_server_hash': u'*',
                                                 u'not_authorized': u'T',
                                                 u'not_available': u'T'},
                                  'STATE': {u'changed': u'*',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'F'},
                                  'STATE_OUT': {u'changed': u'*',
                                                u'has_metadata': u'*',
                                                u'is_directory': u'*'}},
                                 {'ACTION': u'pass',
                                  'ACTION_FUNC': u'nothing',
                                  'COMMENTS': u'',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                 u'hash_eq_server_hash': u'*',
                                                 u'not_authorized': u'F',
                                                 u'not_available': u'T'},
                                  'STATE': {u'changed': u'*',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'F'},
                                  'STATE_OUT': {u'changed': u'=',
                                                u'has_metadata': u'=',
                                                u'is_directory': u'='}},
                                 {'ACTION': u'pass',
                                  'ACTION_FUNC': u'nothing',
                                  'COMMENTS': u'',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                 u'hash_eq_server_hash': u'*',
                                                 u'not_authorized': u'T',
                                                 u'not_available': u'F'},
                                  'STATE': {u'changed': u'*',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'F'},
                                  'STATE_OUT': {u'changed': u'=',
                                                u'has_metadata': u'=',
                                                u'is_directory': u'='}},
                                 {'ACTION': u'DESPAIR',
                                  'ACTION_FUNC': u'DESPAIR',
                                  'COMMENTS': u'we never try to upload directories',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                 u'hash_eq_server_hash': u'*',
                                                 u'not_authorized': u'!NA',
                                                 u'not_available': u'!NA'},
                                  'STATE': {u'changed': u'*',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'T'},
                                  'STATE_OUT': {u'changed': u'*',
                                                u'has_metadata': u'*',
                                                u'is_directory': u'*'}}],
            u'AQ_UPLOAD_FINISHED': [{'ACTION': u'pass',
                                     'ACTION_FUNC': u'nothing',
                                     'COMMENTS': u'',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                    u'hash_eq_server_hash': u'*',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'NA',
                                               u'has_metadata': u'F',
                                               u'is_directory': u'NA'},
                                     'STATE_OUT': {u'changed': u'=',
                                                   u'has_metadata': u'=',
                                                   u'is_directory': u'='}},
                                    {'ACTION': u'NA',
                                     'ACTION_FUNC': u'',
                                     'COMMENTS': u'',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                    u'hash_eq_server_hash': u'*',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'*',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'*',
                                                   u'has_metadata': u'*',
                                                   u'is_directory': u'*'}},
                                    {'ACTION': u'NA',
                                     'ACTION_FUNC': u'',
                                     'COMMENTS': u'',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                    u'hash_eq_server_hash': u'NA',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'*',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'*',
                                                   u'has_metadata': u'*',
                                                   u'is_directory': u'*'}},
                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',
                                     'ACTION_FUNC': u'commit_upload',
                                     'COMMENTS': u'',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                                    u'hash_eq_server_hash': u'T',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'NONE',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'=',
                                                   u'has_metadata': u'=',
                                                   u'is_directory': u'='}},
                                    {'ACTION': u'NA',
                                     'ACTION_FUNC': u'',
                                     'COMMENTS': u'',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                                    u'hash_eq_server_hash': u'T',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'NONE',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'*',
                                                   u'has_metadata': u'*',
                                                   u'is_directory': u'*'}},
                                    {'ACTION': u'NA',
                                     'ACTION_FUNC': u'',
                                     'COMMENTS': u'',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                                    u'hash_eq_server_hash': u'F',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'NONE',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'*',
                                                   u'has_metadata': u'*',
                                                   u'is_directory': u'*'}},
                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',
                                     'ACTION_FUNC': u'commit_upload',
                                     'COMMENTS': u'',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                                    u'hash_eq_server_hash': u'F',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'NONE',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'LOCAL',
                                                   u'has_metadata': u'=',
                                                   u'is_directory': u'='}},
                                    {'ACTION': u'NA',
                                     'ACTION_FUNC': u'',
                                     'COMMENTS': u'',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                                    u'hash_eq_server_hash': u'T',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'SERVER',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'*',
                                                   u'has_metadata': u'*',
                                                   u'is_directory': u'*'}},
                                    {'ACTION': u'NA',
                                     'ACTION_FUNC': u'',
                                     'COMMENTS': u'',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                                    u'hash_eq_server_hash': u'T',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'LOCAL',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'*',
                                                   u'has_metadata': u'*',
                                                   u'is_directory': u'*'}},
                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',
                                     'ACTION_FUNC': u'commit_upload',
                                     'COMMENTS': u'',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                                    u'hash_eq_server_hash': u'T',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'SERVER',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'=',
                                                   u'has_metadata': u'=',
                                                   u'is_directory': u'='}},
                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',
                                     'ACTION_FUNC': u'reput_file_from_ok',
                                     'COMMENTS': u'we finished a download, but this download should have been cancelled. So the real upload will conflict. Reschedule upload.',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                                    u'hash_eq_server_hash': u'T',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'LOCAL',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'NONE',
                                                   u'has_metadata': u'=',
                                                   u'is_directory': u'='}},
                                    {'ACTION': u'cancel download; commit upload',
                                     'ACTION_FUNC': u'cancel_and_commit',
                                     'COMMENTS': u'we couldnt cancel an upload and we overwrote what was on the server',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                                    u'hash_eq_server_hash': u'F',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'SERVER',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'NONE',
                                                   u'has_metadata': u'T',
                                                   u'is_directory': u'='}},
                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',
                                     'ACTION_FUNC': u'commit_upload',
                                     'COMMENTS': u'',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                                    u'hash_eq_server_hash': u'F',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'LOCAL',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'NONE',
                                                   u'has_metadata': u'=',
                                                   u'is_directory': u'='}},
                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',
                                     'ACTION_FUNC': u'commit_upload',
                                     'COMMENTS': u'',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                                    u'hash_eq_server_hash': u'F',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'SERVER',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'SERVER',
                                                   u'has_metadata': u'=',
                                                   u'is_directory': u'='}},
                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',
                                     'ACTION_FUNC': u'reput_file_from_ok',
                                     'COMMENTS': u'',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                                    u'hash_eq_server_hash': u'F',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'LOCAL',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'},
                                     'STATE_OUT': {u'changed': u'NONE',
                                                   u'has_metadata': u'=',
                                                   u'is_directory': u'='}},
                                    {'ACTION': u'DESPAIR',
                                     'ACTION_FUNC': u'DESPAIR',
                                     'COMMENTS': u'we never try to upload directories',
                                     'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                                    u'hash_eq_server_hash': u'*',
                                                    u'not_authorized': u'NA',
                                                    u'not_available': u'NA'},
                                     'STATE': {u'changed': u'*',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'T'},
                                     'STATE_OUT': {u'changed': u'*',
                                                   u'has_metadata': u'*',
                                                   u'is_directory': u'*'}}],
            u'FS_DIR_CREATE': [{'ACTION': u'mdid = md.create(path=path)\naq.makefile(mdid)',
                                'ACTION_FUNC': u'new_local_dir',
                                'COMMENTS': u'',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'NA',
                                          u'has_metadata': u'F',
                                          u'is_directory': u'NA'},
                                'STATE_OUT': {u'changed': u'NONE',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'T'}},
                               {'ACTION': u'pass',
                                'ACTION_FUNC': u'nothing',
                                'COMMENTS': u'duplicate IN_DIRECTORY_NEW',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'SERVER',
                                          u'has_metadata': u'T',
                                          u'is_directory': u'*'},
                                'STATE_OUT': {u'changed': u'=',
                                              u'has_metadata': u'=',
                                              u'is_directory': u'='}},
                               {'ACTION': u'pass',
                                'ACTION_FUNC': u'nothing',
                                'COMMENTS': u'duplicate IN_DIRECTORY_NEW',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'NONE',
                                          u'has_metadata': u'T',
                                          u'is_directory': u'F'},
                                'STATE_OUT': {u'changed': u'NONE',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'F'}},
                               {'ACTION': u'DESPAIR',
                                'ACTION_FUNC': u'DESPAIR',
                                'COMMENTS': u'...?',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'LOCAL',
                                          u'has_metadata': u'T',
                                          u'is_directory': u'F'},
                                'STATE_OUT': {u'changed': u'*',
                                              u'has_metadata': u'*',
                                              u'is_directory': u'*'}},
                               {'ACTION': u'pass',
                                'ACTION_FUNC': u'nothing',
                                'COMMENTS': u'duplicate IN_DIRECTORY_NEW',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'NONE',
                                          u'has_metadata': u'T',
                                          u'is_directory': u'T'},
                                'STATE_OUT': {u'changed': u'NONE',
                                              u'has_metadata': u'T',
                                              u'is_directory': u'T'}}],
            u'FS_DIR_DELETE': [{'ACTION': u'pass',
                                'ACTION_FUNC': u'nothing',
                                'COMMENTS': u'this is the result of a delete we did',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'NA',
                                          u'has_metadata': u'F',
                                          u'is_directory': u'NA'},
                                'STATE_OUT': {u'changed': u'=',
                                              u'has_metadata': u'=',
                                              u'is_directory': u'='}},
                               {'ACTION': u'aq.delete_file(uuid, type=type); md.remove(uuid)',
                                'ACTION_FUNC': u'delete_on_server',
                                'COMMENTS': u'when deleting files we remove the metadata, server rescan will find this again and downloadi it if we are shutdown before this delete has gone up. Generations may break this. ',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'NONE',
                                          u'has_metadata': u'T',
                                          u'is_directory': u'*'},
                                'STATE_OUT': {u'changed': u'NA',
                                              u'has_metadata': u'F',
                                              u'is_directory': u'NA'}},
                               {'ACTION': u'',
                                'ACTION_FUNC': u'DESPAIR',
                                'COMMENTS': u'delete of file when it should be a dir is bad',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'LOCAL',
                                          u'has_metadata': u'T',
                                          u'is_directory': u'F'},
                                'STATE_OUT': {u'changed': u'NA',
                                              u'has_metadata': u'F',
                                              u'is_directory': u'NA'}},
                               {'ACTION': u'',
                                'ACTION_FUNC': u'DESPAIR',
                                'COMMENTS': u'delete of file when it should be a dir is bad',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'SERVER',
                                          u'has_metadata': u'T',
                                          u'is_directory': u'F'},
                                'STATE_OUT': {u'changed': u'NA',
                                              u'has_metadata': u'F',
                                              u'is_directory': u'NA'}},
                               {'ACTION': u'md.cancel_download(md); md.remove(uuid)',
                                'ACTION_FUNC': u'deleted_dir_while_downloading',
                                'COMMENTS': u'',
                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                               u'hash_eq_server_hash': u'NA',
                                               u'not_authorized': u'NA',
                                               u'not_available': u'NA'},
                                'STATE': {u'changed': u'SERVER',
                                          u'has_metadata': u'T',
                                          u'is_directory': u'T'},
                                'STATE_OUT': {u'changed': u'NA',
                                              u'has_metadata': u'F',
                                              u'is_directory': u'NA'}}],
            u'FS_FILE_CLOSE_WRITE': [{'ACTION': u'DESPAIR',
                                      'ACTION_FUNC': u'DESPAIR',
                                      'COMMENTS': u'changes from a file that does not exists',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'NA',
                                                     u'not_available': u'NA'},
                                      'STATE': {u'changed': u'NA',
                                                u'has_metadata': u'F',
                                                u'is_directory': u'*'},
                                      'STATE_OUT': {u'changed': u'*',
                                                    u'has_metadata': u'*',
                                                    u'is_directory': u'*'}},
                                     {'ACTION': u'DESPAIR',
                                      'ACTION_FUNC': u'DESPAIR',
                                      'COMMENTS': u'event cant happen in directories',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'NA',
                                                     u'not_available': u'NA'},
                                      'STATE': {u'changed': u'*',
                                                u'has_metadata': u'T',
                                                u'is_directory': u'T'},
                                      'STATE_OUT': {u'changed': u'*',
                                                    u'has_metadata': u'*',
                                                    u'is_directory': u'*'}},
                                     {'ACTION': u'hq.insert(path)',
                                      'ACTION_FUNC': u'calculate_hash',
                                      'COMMENTS': u'',
                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                     u'hash_eq_server_hash': u'NA',
                                                     u'not_authorized': u'NA',
                                                     u'not_available': u'NA'},
                                      'STATE': {u'changed': u'*',
                                                u'has_metadata': u'T',
                                                u'is_directory': u'F'},
                                      'STATE_OUT': {u'changed': u'=',
                                                    u'has_metadata': u'=',
                                                    u'is_directory': u'='}}],
            u'FS_FILE_CREATE': [{'ACTION': u'mdid = md.create(path=path)\naq.makefile(mdid)',
                                 'ACTION_FUNC': u'new_local_file',
                                 'COMMENTS': u'',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'NA',
                                           u'has_metadata': u'F',
                                           u'is_directory': u'NA'},
                                 'STATE_OUT': {u'changed': u'NONE',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'}},
                                {'ACTION': u'',
                                 'ACTION_FUNC': u'nothing',
                                 'COMMENTS': u'ignore this. We created the file.',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'SERVER',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'*'},
                                 'STATE_OUT': {u'changed': u'=',
                                               u'has_metadata': u'=',
                                               u'is_directory': u'='}},
                                {'ACTION': u'log warning',
                                 'ACTION_FUNC': u'nothing',
                                 'COMMENTS': u'duplicate IN_FILE_NEW',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'NONE',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'F'},
                                 'STATE_OUT': {u'changed': u'NONE',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'}},
                                {'ACTION': u'DESPAIR',
                                 'ACTION_FUNC': u'DESPAIR',
                                 'COMMENTS': u'...?',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'LOCAL',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'F'},
                                 'STATE_OUT': {u'changed': u'*',
                                               u'has_metadata': u'*',
                                               u'is_directory': u'*'}},
                                {'ACTION': u'log warning',
                                 'ACTION_FUNC': u'nothing',
                                 'COMMENTS': u'duplicate IN_FILE_NEW',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'NONE',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'T'},
                                 'STATE_OUT': {u'changed': u'NONE',
                                               u'has_metadata': u'T',
                                               u'is_directory': u'F'}}],
            u'FS_FILE_DELETE': [{'ACTION': u'pass',
                                 'ACTION_FUNC': u'nothing',
                                 'COMMENTS': u'this is the result of a delete we did',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'NA',
                                           u'has_metadata': u'F',
                                           u'is_directory': u'NA'},
                                 'STATE_OUT': {u'changed': u'=',
                                               u'has_metadata': u'=',
                                               u'is_directory': u'='}},
                                {'ACTION': u'aq.delete_file(uuid, type=type); md.remove(uuid)',
                                 'ACTION_FUNC': u'delete_on_server',
                                 'COMMENTS': u'when deleting files we remove the metadata, server rescan will find this again and downloadi it if we are shutdown before this delete has gone up. Generations may break this. ',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'NONE',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'*'},
                                 'STATE_OUT': {u'changed': u'NA',
                                               u'has_metadata': u'F',
                                               u'is_directory': u'NA'}},
                                {'ACTION': u'aq.cancel_upload(uuid); aq.delete_file(uuid); md.remove(uuid)',
                                 'ACTION_FUNC': u'cancel_upload_and_delete_on_server',
                                 'COMMENTS': u'',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'LOCAL',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'F'},
                                 'STATE_OUT': {u'changed': u'NA',
                                               u'has_metadata': u'F',
                                               u'is_directory': u'NA'}},
                                {'ACTION': u'aq.cancel_download(uuid); aq.delete_file(uuid)\n md.remove(uuid)',
                                 'ACTION_FUNC': u'cancel_download_and_delete_on_server',
                                 'COMMENTS': u'This is policy. We could declare this to be a conflict. But we should assume that the client knows what he is doing',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'SERVER',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'F'},
                                 'STATE_OUT': {u'changed': u'NA',
                                               u'has_metadata': u'F',
                                               u'is_directory': u'NA'}},
                                {'ACTION': u'',
                                 'ACTION_FUNC': u'DESPAIR',
                                 'COMMENTS': u'',
                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                u'hash_eq_server_hash': u'NA',
                                                u'not_authorized': u'NA',
                                                u'not_available': u'NA'},
                                 'STATE': {u'changed': u'SERVER',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'T'},
                                 'STATE_OUT': {u'changed': u'NA',
                                               u'has_metadata': u'F',
                                               u'is_directory': u'NA'}}],
            u'FS_FILE_MOVE': [{'ACTION': u'',
                               'ACTION_FUNC': u'nothing',
                               'COMMENTS': u'side efect of local move',
                               'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                              u'hash_eq_server_hash': u'NA',
                                              u'not_authorized': u'NA',
                                              u'not_available': u'NA'},
                               'STATE': {u'changed': u'NA',
                                         u'has_metadata': u'F',
                                         u'is_directory': u'NA'},
                               'STATE_OUT': {u'changed': u'NA',
                                             u'has_metadata': u'F',
                                             u'is_directory': u'NA'}},
                              {'ACTION': u'aq.move()',
                               'ACTION_FUNC': u'client_moved',
                               'COMMENTS': u'vanilla case',
                               'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                              u'hash_eq_server_hash': u'NA',
                                              u'not_authorized': u'NA',
                                              u'not_available': u'NA'},
                               'STATE': {u'changed': u'NONE',
                                         u'has_metadata': u'T',
                                         u'is_directory': u'*'},
                               'STATE_OUT': {u'changed': u'=',
                                             u'has_metadata': u'T',
                                             u'is_directory': u'='}},
                              {'ACTION': u'cancel upload; move; restart upload',
                               'ACTION_FUNC': u'moved_dirty_local',
                               'COMMENTS': u'we got a move while we were downloading it',
                               'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                              u'hash_eq_server_hash': u'NA',
                                              u'not_authorized': u'NA',
                                              u'not_available': u'NA'},
                               'STATE': {u'changed': u'LOCAL',
                                         u'has_metadata': u'T',
                                         u'is_directory': u'F'},
                               'STATE_OUT': {u'changed': u'NONE',
                                             u'has_metadata': u'T',
                                             u'is_directory': u'F'}},
                              {'ACTION': u'cancel_download; move; query',
                               'ACTION_FUNC': u'moved_dirty_server',
                               'COMMENTS': u'we got a move while we were downloading it',
                               'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                              u'hash_eq_server_hash': u'NA',
                                              u'not_authorized': u'NA',
                                              u'not_available': u'NA'},
                               'STATE': {u'changed': u'SERVER',
                                         u'has_metadata': u'T',
                                         u'is_directory': u'*'},
                               'STATE_OUT': {u'changed': u'NONE',
                                             u'has_metadata': u'T',
                                             u'is_directory': u'='}}],
            u'HQ_HASH_NEW': [{'ACTION': u'NA',
                              'ACTION_FUNC': u'',
                              'COMMENTS': u'',
                              'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                             u'hash_eq_server_hash': u'NA',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'*',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'*'},
                              'STATE_OUT': {u'changed': u'=',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'NA',
                              'ACTION_FUNC': u'',
                              'COMMENTS': u'',
                              'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                             u'hash_eq_server_hash': u'*',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'*',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'*'},
                              'STATE_OUT': {u'changed': u'=',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'md.set(mdid, stat=stat)',
                              'ACTION_FUNC': u'save_stat',
                              'COMMENTS': u'hash == local_hash == server_hash; nothing changed but the file was \u201ctouched\u201d',
                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                             u'hash_eq_server_hash': u'T',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'NONE',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'=',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'',
                              'ACTION_FUNC': u'reput_file',
                              'COMMENTS': u'just to be on the safe side, we try to put the file again.',
                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                             u'hash_eq_server_hash': u'T',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'LOCAL',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'LOCAL',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'md.set(mdid, local_hash=hash)\naq.putfile(*mdid)',
                              'ACTION_FUNC': u'put_file',
                              'COMMENTS': u'plain \u201cuser modified the file on this machine\u201d case',
                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'NONE',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'LOCAL',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'',
                              'ACTION_FUNC': u'nothing',
                              'COMMENTS': u'we dont send directories to hq. This is old. Ignore.',
                              'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'NONE',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'T'},
                              'STATE_OUT': {u'changed': u'SERVER',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'NA',
                              'ACTION_FUNC': u'nothing',
                              'COMMENTS': u'',
                              'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'NONE',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'T'},
                              'STATE_OUT': {u'changed': u'*',
                                            u'has_metadata': u'*',
                                            u'is_directory': u'*'}},
                             {'ACTION': u'pass',
                              'ACTION_FUNC': u'nothing',
                              'COMMENTS': u'the directories are the same',
                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                             u'hash_eq_server_hash': u'T',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'NONE',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'T'},
                              'STATE_OUT': {u'changed': u'=',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'md.set(mdid, local_hash=hash)\naq.putfile(*mdid)',
                              'ACTION_FUNC': u'reput_file',
                              'COMMENTS': u'another upload is in progress',
                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'LOCAL',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'LOCAL',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'md.set(mdid, local_hash=hash)\naq.cancel_download(mdid)',
                              'ACTION_FUNC': u'converges_to_server',
                              'COMMENTS': u'local file already has server changes that are being downloaded',
                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                             u'hash_eq_server_hash': u'T',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'SERVER',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'NONE',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'CONFLICT',
                              'ACTION_FUNC': u'file_conflict',
                              'COMMENTS': u'local file was modified by the user while download of next version was in progress',
                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'SERVER',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'SERVER',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'='}},
                             {'ACTION': u'',
                              'ACTION_FUNC': u'nothing',
                              'COMMENTS': u'we dont send directories to hq. This is old. Ignore.',
                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                             u'hash_eq_server_hash': u'T',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'SERVER',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'T'},
                              'STATE_OUT': {u'changed': u'NONE',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'',
                              'ACTION_FUNC': u'nothing',
                              'COMMENTS': u'we dont send directories to hq. This is old. Ignore.',
                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'SERVER',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'T'},
                              'STATE_OUT': {u'changed': u'=',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'pass',
                              'ACTION_FUNC': u'nothing',
                              'COMMENTS': u'',
                              'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                             u'hash_eq_server_hash': u'*',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'*',
                                        u'has_metadata': u'F',
                                        u'is_directory': u'*'},
                              'STATE_OUT': {u'changed': u'=',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}}],
            u'SV_DIR_NEW': [{'ACTION': u'md.create(path=path, uuid=uuid, type=type)\naq.query(uuid=uuid)',
                             'ACTION_FUNC': u'new_dir',
                             'COMMENTS': u'good case, we send a query to see if there are anychanges we need to merge',
                             'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                            u'hash_eq_server_hash': u'NA',
                                            u'not_authorized': u'NA',
                                            u'not_available': u'NA'},
                             'STATE': {u'changed': u'NA',
                                       u'has_metadata': u'F',
                                       u'is_directory': u'NA'},
                             'STATE_OUT': {u'changed': u'NONE',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'T'}},
                            {'ACTION': u'CONFLICT',
                             'ACTION_FUNC': u'new_dir_on_server_with_local',
                             'COMMENTS': u'',
                             'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                            u'hash_eq_server_hash': u'NA',
                                            u'not_authorized': u'NA',
                                            u'not_available': u'NA'},
                             'STATE': {u'changed': u'*',
                                       u'has_metadata': u'T',
                                       u'is_directory': u'*'},
                             'STATE_OUT': {u'changed': u'NONE',
                                           u'has_metadata': u'T',
                                           u'is_directory': u'T'}}],
            u'SV_FILE_DELETED': [{'ACTION': u'pass',
                                  'ACTION_FUNC': u'nothing',
                                  'COMMENTS': u'we deleted something and the server did the same',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                 u'hash_eq_server_hash': u'NA',
                                                 u'not_authorized': u'NA',
                                                 u'not_available': u'NA'},
                                  'STATE': {u'changed': u'NA',
                                            u'has_metadata': u'F',
                                            u'is_directory': u'NA'},
                                  'STATE_OUT': {u'changed': u'=',
                                                u'has_metadata': u'=',
                                                u'is_directory': u'='}},
                                 {'ACTION': u'md.remove(uuid)',
                                  'ACTION_FUNC': u'delete_file',
                                  'COMMENTS': u'',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                 u'hash_eq_server_hash': u'NA',
                                                 u'not_authorized': u'NA',
                                                 u'not_available': u'NA'},
                                  'STATE': {u'changed': u'NONE',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'*'},
                                  'STATE_OUT': {u'changed': u'NA',
                                                u'has_metadata': u'F',
                                                u'is_directory': u'NA'}},
                                 {'ACTION': u'CONFLICT; md.remove(uuid)',
                                  'ACTION_FUNC': u'conflict_and_delete',
                                  'COMMENTS': u'',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                 u'hash_eq_server_hash': u'NA',
                                                 u'not_authorized': u'NA',
                                                 u'not_available': u'NA'},
                                  'STATE': {u'changed': u'LOCAL',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'F'},
                                  'STATE_OUT': {u'changed': u'NA',
                                                u'has_metadata': u'F',
                                                u'is_directory': u'NA'}},
                                 {'ACTION': u'md.cancel_download(uuid); md.remove(uuid)',
                                  'ACTION_FUNC': u'file_gone_wile_downloading',
                                  'COMMENTS': u'we are still downloading some content we dont care about anymore',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                 u'hash_eq_server_hash': u'NA',
                                                 u'not_authorized': u'NA',
                                                 u'not_available': u'NA'},
                                  'STATE': {u'changed': u'SERVER',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'F'},
                                  'STATE_OUT': {u'changed': u'NA',
                                                u'has_metadata': u'F',
                                                u'is_directory': u'NA'}},
                                 {'ACTION': u'md.cancel_download(md); md.remove(uuid)',
                                  'ACTION_FUNC': u'file_gone_wile_downloading',
                                  'COMMENTS': u'we are still downloading some content we dont care about anymore',
                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                                 u'hash_eq_server_hash': u'NA',
                                                 u'not_authorized': u'NA',
                                                 u'not_available': u'NA'},
                                  'STATE': {u'changed': u'SERVER',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'T'},
                                  'STATE_OUT': {u'changed': u'NA',
                                                u'has_metadata': u'F',
                                                u'is_directory': u'NA'}}],
            u'SV_FILE_NEW': [{'ACTION': u'md.create(path=path, uuid=uuid, type=type)\naq.query(uuid=uuid)',
                              'ACTION_FUNC': u'new_file',
                              'COMMENTS': u'good case, we send a query to see if there are anychanges we need to merge',
                              'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                             u'hash_eq_server_hash': u'NA',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'NA',
                                        u'has_metadata': u'F',
                                        u'is_directory': u'NA'},
                              'STATE_OUT': {u'changed': u'NONE',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'F'}},
                             {'ACTION': u'CONFLICT',
                              'ACTION_FUNC': u'new_file_on_server_with_local',
                              'COMMENTS': u'',
                              'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                             u'hash_eq_server_hash': u'NA',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'*',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'*'},
                              'STATE_OUT': {u'changed': u'NONE',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'F'}}],
            u'SV_HASH_NEW': [{'ACTION': u'NA',
                              'ACTION_FUNC': u'',
                              'COMMENTS': u'',
                              'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                             u'hash_eq_server_hash': u'NA',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'*',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'*'},
                              'STATE_OUT': {u'changed': u'=',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'NA',
                              'ACTION_FUNC': u'',
                              'COMMENTS': u'',
                              'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                             u'hash_eq_server_hash': u'*',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'*',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'*'},
                              'STATE_OUT': {u'changed': u'=',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'pass',
                              'ACTION_FUNC': u'nothing',
                              'COMMENTS': u'server side changes while trying to delete something',
                              'PARAMETERS': {u'hash_eq_local_hash': u'*',
                                             u'hash_eq_server_hash': u'*',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'NA',
                                        u'has_metadata': u'F',
                                        u'is_directory': u'*'},
                              'STATE_OUT': {u'changed': u'NA',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'pass',
                              'ACTION_FUNC': u'nothing',
                              'COMMENTS': u'no news is good news',
                              'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                             u'hash_eq_server_hash': u'T',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'NONE',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'=',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'NA',
                              'ACTION_FUNC': u'',
                              'COMMENTS': u'NONE, T, F is a falacy (NONE implies server_hash == local_hash)',
                              'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                             u'hash_eq_server_hash': u'T',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'NONE',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'*',
                                            u'has_metadata': u'*',
                                            u'is_directory': u'*'}},
                             {'ACTION': u'NA',
                              'ACTION_FUNC': u'',
                              'COMMENTS': u'NONE, F, T is a falacy (NONE implies server_hash == local_hash)',
                              'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'NONE',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'*',
                                            u'has_metadata': u'*',
                                            u'is_directory': u'*'}},
                             {'ACTION': u'md.set(uuid, server_hash=hash)\npartial = md.create_partial(uuid)\naq.getcontent(*partial)',
                              'ACTION_FUNC': u'get_file',
                              'COMMENTS': u'',
                              'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'NONE',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'SERVER',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'NA',
                              'ACTION_FUNC': u'',
                              'COMMENTS': u'SERVER, T, T is a impossible (SERVER implies server_hash != local_hash)',
                              'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                             u'hash_eq_server_hash': u'T',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'SERVER',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'*',
                                            u'has_metadata': u'*',
                                            u'is_directory': u'*'}},
                             {'ACTION': u'pass',
                              'ACTION_FUNC': u'nothing',
                              'COMMENTS': u'A download for a content object with the same hash is already in progress',
                              'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                             u'hash_eq_server_hash': u'T',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'SERVER',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'=',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'md.remove_partial(uuid)\nmd.set(uuid, server_hash=hash)\naq.cancel_download(uuid)',
                              'ACTION_FUNC': u'server_file_changed_back',
                              'COMMENTS': u"the local file is equal to the file that is now on the server, but a download is in progress from an older version of the server. Removing the partial ensures that we never complete the download (thus we avoid the dreaded !!! state) Note that this makes it important for AQ_DOWNLOAD_FINISHED to 'pass' on downloads that aren't partials",
                              'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'SERVER',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'NONE',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'aq.cancel_download(uuid)\nmd.set(uuid, server_hash=hash)\npartial = md.get_partial(uuid)\naq.getcontent(*partial)',
                              'ACTION_FUNC': u'reget_file',
                              'COMMENTS': u'a download was in progress but the server changed again. Note that this makes it important for AQ_DOWNLOAD_FINISHED to check the server hash.',
                              'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'SERVER',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'SERVER',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'NA',
                              'ACTION_FUNC': u'',
                              'COMMENTS': u'LOCAL, T, T is a impossible (LOCAL implies server_hash != local_hash)',
                              'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                             u'hash_eq_server_hash': u'T',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'LOCAL',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'*',
                                            u'has_metadata': u'*',
                                            u'is_directory': u'*'}},
                             {'ACTION': u'CONFLICT',
                              'ACTION_FUNC': u'nothing',
                              'COMMENTS': u'',
                              'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                             u'hash_eq_server_hash': u'T',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'LOCAL',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'=',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'aq.cancel_upload(uuid)\nmd.set(uuid, server_hash=hash)',
                              'ACTION_FUNC': u'server_file_now_matches',
                              'COMMENTS': u"there's a small chance that the cancel fails, in which case we're simply redundant",
                              'PARAMETERS': {u'hash_eq_local_hash': u'T',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'LOCAL',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'NONE',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'CONFLICT',
                              'ACTION_FUNC': u'local_file_conflict',
                              'COMMENTS': u'',
                              'PARAMETERS': {u'hash_eq_local_hash': u'F',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'LOCAL',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'F'},
                              'STATE_OUT': {u'changed': u'SERVER',
                                            u'has_metadata': u'T',
                                            u'is_directory': u'='}},
                             {'ACTION': u'pass',
                              'ACTION_FUNC': u'nothing',
                              'COMMENTS': u'no news is good news',
                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                             u'hash_eq_server_hash': u'T',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'NONE',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'T'},
                              'STATE_OUT': {u'changed': u'=',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'md.set(uuid, server_hash=hash)\npartial = md.create_partial(uuid)\naq.getcontent(*partial)',
                              'ACTION_FUNC': u'get_dir',
                              'COMMENTS': u'normal case',
                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'NONE',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'T'},
                              'STATE_OUT': {u'changed': u'SERVER',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'aq.cancel_download(uuid) \nmd.set(uuid, server_hash=hash)',
                              'ACTION_FUNC': u'nothing',
                              'COMMENTS': u'A download for a content object with the same hash is already in progress',
                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                             u'hash_eq_server_hash': u'T',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'SERVER',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'T'},
                              'STATE_OUT': {u'changed': u'SERVER',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}},
                             {'ACTION': u'aq.cancel_download(uuid)\nmd.set(uuid, server_hash=hash)\npartial = md.get_partial(uuid)\naq.getcontent(*partial)',
                              'ACTION_FUNC': u'reget_dir',
                              'COMMENTS': u'a download was in progress but the server changed again. Note that this makes it important for AQ_DOWNLOAD_FINISHED to check the server hash.',
                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',
                                             u'hash_eq_server_hash': u'F',
                                             u'not_authorized': u'NA',
                                             u'not_available': u'NA'},
                              'STATE': {u'changed': u'SERVER',
                                        u'has_metadata': u'T',
                                        u'is_directory': u'T'},
                              'STATE_OUT': {u'changed': u'NONE',
                                            u'has_metadata': u'=',
                                            u'is_directory': u'='}}],
            u'SV_MOVED': [{'ACTION': u'DESPAIR',
                           'ACTION_FUNC': u'DESPAIR',
                           'COMMENTS': u'',
                           'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                          u'hash_eq_server_hash': u'NA',
                                          u'not_authorized': u'NA',
                                          u'not_available': u'NA'},
                           'STATE': {u'changed': u'NA',
                                     u'has_metadata': u'F',
                                     u'is_directory': u'NA'},
                           'STATE_OUT': {u'changed': u'*',
                                         u'has_metadata': u'*',
                                         u'is_directory': u'*'}},
                          {'ACTION': u'md.move(uuid)',
                           'ACTION_FUNC': u'server_moved',
                           'COMMENTS': u'all pending changes should arrive to the moved file\naq should remove the destination if its there',
                           'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                          u'hash_eq_server_hash': u'NA',
                                          u'not_authorized': u'NA',
                                          u'not_available': u'NA'},
                           'STATE': {u'changed': u'!SERVER',
                                     u'has_metadata': u'T',
                                     u'is_directory': u'*'},
                           'STATE_OUT': {u'changed': u'=',
                                         u'has_metadata': u'T',
                                         u'is_directory': u'='}},
                          {'ACTION': u'cancel_download; move; query',
                           'ACTION_FUNC': u'server_moved_dirty',
                           'COMMENTS': u'we got a move while we were downloading it',
                           'PARAMETERS': {u'hash_eq_local_hash': u'NA',
                                          u'hash_eq_server_hash': u'NA',
                                          u'not_authorized': u'NA',
                                          u'not_available': u'NA'},
                           'STATE': {u'changed': u'SERVER',
                                     u'has_metadata': u'T',
                                     u'is_directory': u'*'},
                           'STATE_OUT': {u'changed': u'=',
                                         u'has_metadata': u'T',
                                         u'is_directory': u'='}}]},
 'invalid': [{u'changed': u'NONE',
              u'has_metadata': u'F',
              u'is_directory': u'T'},
             {u'changed': u'SERVER',
              u'has_metadata': u'F',
              u'is_directory': u'T'},
             {u'changed': u'LOCAL',
              u'has_metadata': u'F',
              u'is_directory': u'T'},
             {u'changed': u'NONE',
              u'has_metadata': u'F',
              u'is_directory': u'F'},
             {u'changed': u'SERVER',
              u'has_metadata': u'F',
              u'is_directory': u'F'},
             {u'changed': u'LOCAL',
              u'has_metadata': u'F',
              u'is_directory': u'F'},
             {u'changed': u'NONE',
              u'has_metadata': u'F',
              u'is_directory': u'NA'},
             {u'changed': u'SERVER',
              u'has_metadata': u'F',
              u'is_directory': u'NA'},
             {u'changed': u'LOCAL',
              u'has_metadata': u'F',
              u'is_directory': u'NA'},
             {u'changed': u'NONE',
              u'has_metadata': u'T',
              u'is_directory': u'NA'},
             {u'changed': u'SERVER',
              u'has_metadata': u'T',
              u'is_directory': u'NA'},
             {u'changed': u'LOCAL',
              u'has_metadata': u'T',
              u'is_directory': u'NA'},
             {u'changed': u'NA',
              u'has_metadata': u'T',
              u'is_directory': u'NA'},
             {u'changed': u'NA',
              u'has_metadata': u'T',
              u'is_directory': u'F'},
             {u'changed': u'NA',
              u'has_metadata': u'T',
              u'is_directory': u'T'},
             {u'changed': u'LOCAL',
              u'has_metadata': u'T',
              u'is_directory': u'T'},
             {u'changed': u'NA',
              u'has_metadata': u'F',
              u'is_directory': u'T'},
             {u'changed': u'NA',
              u'has_metadata': u'F',
              u'is_directory': u'F'}],
 'parameters': {u'hash_eq_local_hash': u'hash == md.local_hash',
                u'hash_eq_server_hash': u'hash == md.server_hash',
                u'not_authorized': u'error == not authorized',
                u'not_available': u'error == not available'},
 'state_vars': {u'changed': u'changed',
                u'has_metadata': u'\u2203 md',
                u'is_directory': u'isDirectory'}}

Generated by  Doxygen 1.6.0   Back to index