Best Python code snippet using assertpy_python
u1fsfsm.py
Source:u1fsfsm.py  
1"""This is a generated python file"""2# make pylint accept this3# pylint: disable-msg=C03014state_machine = {'events': {u'AQ_DIR_DELETE_ERROR': [{'ACTION': u'md.create(path=path, uuid=uuid, type=type) aq.query(uuid=uuid)',5                                      'ACTION_FUNC': u'',6                                      'COMMENTS': u'the user deleted something we couldnt delete from the server. Re create.',7                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',8                                                     u'hash_eq_server_hash': u'NA',9                                                     u'not_authorized': u'T',10                                                     u'not_available': u'F'},11                                      'STATE': {u'changed': u'NA',12                                                u'has_metadata': u'F',13                                                u'is_directory': u'NA'},14                                      'STATE_OUT': {u'changed': u'NONE',15                                                    u'has_metadata': u'T',16                                                    u'is_directory': u'T'}},17                                     {'ACTION': u'md.create(path=path, uuid=uuid, type=type) aq.query(uuid=uuid)',18                                      'ACTION_FUNC': u'',19                                      'COMMENTS': u'the user deleted something we couldnt delete from the server. Re create.',20                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',21                                                     u'hash_eq_server_hash': u'NA',22                                                     u'not_authorized': u'F',23                                                     u'not_available': u'T'},24                                      'STATE': {u'changed': u'NA',25                                                u'has_metadata': u'F',26                                                u'is_directory': u'NA'},27                                      'STATE_OUT': {u'changed': u'NONE',28                                                    u'has_metadata': u'T',29                                                    u'is_directory': u'T'}},30                                     {'ACTION': u'NA',31                                      'ACTION_FUNC': u'',32                                      'COMMENTS': u'',33                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',34                                                     u'hash_eq_server_hash': u'NA',35                                                     u'not_authorized': u'NA',36                                                     u'not_available': u'*'},37                                      'STATE': {u'changed': u'NA',38                                                u'has_metadata': u'F',39                                                u'is_directory': u'NA'},40                                      'STATE_OUT': {u'changed': u'*',41                                                    u'has_metadata': u'*',42                                                    u'is_directory': u'*'}},43                                     {'ACTION': u'NA',44                                      'ACTION_FUNC': u'',45                                      'COMMENTS': u'',46                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',47                                                     u'hash_eq_server_hash': u'NA',48                                                     u'not_authorized': u'*',49                                                     u'not_available': u'NA'},50                                      'STATE': {u'changed': u'NA',51                                                u'has_metadata': u'F',52                                                u'is_directory': u'NA'},53                                      'STATE_OUT': {u'changed': u'*',54                                                    u'has_metadata': u'*',55                                                    u'is_directory': u'*'}},56                                     {'ACTION': u'NA',57                                      'ACTION_FUNC': u'',58                                      'COMMENTS': u'',59                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',60                                                     u'hash_eq_server_hash': u'NA',61                                                     u'not_authorized': u'*',62                                                     u'not_available': u'NA'},63                                      'STATE': {u'changed': u'*',64                                                u'has_metadata': u'T',65                                                u'is_directory': u'*'},66                                      'STATE_OUT': {u'changed': u'*',67                                                    u'has_metadata': u'*',68                                                    u'is_directory': u'*'}},69                                     {'ACTION': u'NA',70                                      'ACTION_FUNC': u'',71                                      'COMMENTS': u'',72                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',73                                                     u'hash_eq_server_hash': u'NA',74                                                     u'not_authorized': u'NA',75                                                     u'not_available': u'*'},76                                      'STATE': {u'changed': u'*',77                                                u'has_metadata': u'T',78                                                u'is_directory': u'*'},79                                      'STATE_OUT': {u'changed': u'*',80                                                    u'has_metadata': u'*',81                                                    u'is_directory': u'*'}},82                                     {'ACTION': u'CONFLICT, recreate from deleted uuid',83                                      'ACTION_FUNC': u'',84                                      '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',85                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',86                                                     u'hash_eq_server_hash': u'NA',87                                                     u'not_authorized': u'F',88                                                     u'not_available': u'T'},89                                      'STATE': {u'changed': u'!SERVER',90                                                u'has_metadata': u'T',91                                                u'is_directory': u'*'},92                                      'STATE_OUT': {u'changed': u'NONE',93                                                    u'has_metadata': u'T',94                                                    u'is_directory': u'T'}},95                                     {'ACTION': u'DESPAIR',96                                      'ACTION_FUNC': u'',97                                      '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',98                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',99                                                     u'hash_eq_server_hash': u'NA',100                                                     u'not_authorized': u'F',101                                                     u'not_available': u'T'},102                                      'STATE': {u'changed': u'SERVER',103                                                u'has_metadata': u'T',104                                                u'is_directory': u'*'},105                                      'STATE_OUT': {u'changed': u'*',106                                                    u'has_metadata': u'*',107                                                    u'is_directory': u'*'}},108                                     {'ACTION': u'CONFLICT',109                                      'ACTION_FUNC': u'',110                                      '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',111                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',112                                                     u'hash_eq_server_hash': u'NA',113                                                     u'not_authorized': u'T',114                                                     u'not_available': u'F'},115                                      'STATE': {u'changed': u'*',116                                                u'has_metadata': u'T',117                                                u'is_directory': u'*'},118                                      'STATE_OUT': {u'changed': u'NONE',119                                                    u'has_metadata': u'T',120                                                    u'is_directory': u'T'}},121                                     {'ACTION': u'PANIC',122                                      'ACTION_FUNC': u'',123                                      'COMMENTS': u'',124                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',125                                                     u'hash_eq_server_hash': u'NA',126                                                     u'not_authorized': u'F',127                                                     u'not_available': u'F'},128                                      'STATE': {u'changed': u'*',129                                                u'has_metadata': u'*',130                                                u'is_directory': u'*'},131                                      'STATE_OUT': {u'changed': u'NONE',132                                                    u'has_metadata': u'T',133                                                    u'is_directory': u'T'}},134                                     {'ACTION': u'NA',135                                      'ACTION_FUNC': u'',136                                      'COMMENTS': u'',137                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',138                                                     u'hash_eq_server_hash': u'NA',139                                                     u'not_authorized': u'T',140                                                     u'not_available': u'T'},141                                      'STATE': {u'changed': u'*',142                                                u'has_metadata': u'*',143                                                u'is_directory': u'*'},144                                      'STATE_OUT': {u'changed': u'*',145                                                    u'has_metadata': u'*',146                                                    u'is_directory': u'*'}}],147            u'AQ_DIR_DELETE_OK': [{'ACTION': u'pass',148                                   'ACTION_FUNC': u'nothing',149                                   'COMMENTS': u'vanilla case',150                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',151                                                  u'hash_eq_server_hash': u'NA',152                                                  u'not_authorized': u'NA',153                                                  u'not_available': u'NA'},154                                   'STATE': {u'changed': u'NA',155                                             u'has_metadata': u'F',156                                             u'is_directory': u'NA'},157                                   'STATE_OUT': {u'changed': u'=',158                                                 u'has_metadata': u'=',159                                                 u'is_directory': u'='}},160                                  {'ACTION': u'pass',161                                   'ACTION_FUNC': u'nothing',162                                   'COMMENTS': u'we deleted something the user recreated, someone else is taking care of uploading this changes',163                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',164                                                  u'hash_eq_server_hash': u'NA',165                                                  u'not_authorized': u'NA',166                                                  u'not_available': u'NA'},167                                   'STATE': {u'changed': u'NONE',168                                             u'has_metadata': u'T',169                                             u'is_directory': u'T'},170                                   'STATE_OUT': {u'changed': u'=',171                                                 u'has_metadata': u'=',172                                                 u'is_directory': u'='}},173                                  {'ACTION': u'pass',174                                   'ACTION_FUNC': u'nothing',175                                   'COMMENTS': u'we deleted something the user recreated, someone else is taking care of uploading this changes',176                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',177                                                  u'hash_eq_server_hash': u'NA',178                                                  u'not_authorized': u'NA',179                                                  u'not_available': u'NA'},180                                   'STATE': {u'changed': u'LOCAL',181                                             u'has_metadata': u'T',182                                             u'is_directory': u'T'},183                                   'STATE_OUT': {u'changed': u'=',184                                                 u'has_metadata': u'=',185                                                 u'is_directory': u'='}},186                                  {'ACTION': u'DESPAIR',187                                   'ACTION_FUNC': u'DESPAIR',188                                   'COMMENTS': u'somehow we lost ordering of stuff and we got a new file and changes since we tried to delete this file',189                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',190                                                  u'hash_eq_server_hash': u'NA',191                                                  u'not_authorized': u'NA',192                                                  u'not_available': u'NA'},193                                   'STATE': {u'changed': u'SERVER',194                                             u'has_metadata': u'T',195                                             u'is_directory': u'*'},196                                   'STATE_OUT': {u'changed': u'*',197                                                 u'has_metadata': u'*',198                                                 u'is_directory': u'*'}},199                                  {'ACTION': u'pass',200                                   'ACTION_FUNC': u'nothing',201                                   'COMMENTS': u'',202                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',203                                                  u'hash_eq_server_hash': u'NA',204                                                  u'not_authorized': u'NA',205                                                  u'not_available': u'NA'},206                                   'STATE': {u'changed': u'!SERVER',207                                             u'has_metadata': u'T',208                                             u'is_directory': u'F'},209                                   'STATE_OUT': {u'changed': u'=',210                                                 u'has_metadata': u'=',211                                                 u'is_directory': u'='}}],212            u'AQ_DIR_NEW_ERROR': [{'ACTION': u'pass',213                                   'ACTION_FUNC': u'release_marker_error',214                                   'COMMENTS': u'',215                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',216                                                  u'hash_eq_server_hash': u'NA',217                                                  u'not_authorized': u'*',218                                                  u'not_available': u'*'},219                                   'STATE': {u'changed': u'*',220                                             u'has_metadata': u'F',221                                             u'is_directory': u'*'},222                                   'STATE_OUT': {u'changed': u'=',223                                                 u'has_metadata': u'=',224                                                 u'is_directory': u'='}},225                                  {'ACTION': u'CONFLICT',226                                   'ACTION_FUNC': u'filedir_error_in_creation',227                                   'COMMENTS': u'',228                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',229                                                  u'hash_eq_server_hash': u'NA',230                                                  u'not_authorized': u'*',231                                                  u'not_available': u'*'},232                                   'STATE': {u'changed': u'*',233                                             u'has_metadata': u'*',234                                             u'is_directory': u'T'},235                                   'STATE_OUT': {u'changed': u'NA',236                                                 u'has_metadata': u'F',237                                                 u'is_directory': u'NA'}},238                                  {'ACTION': u'pass',239                                   'ACTION_FUNC': u'release_marker_error',240                                   'COMMENTS': u'',241                                   'PARAMETERS': {u'hash_eq_local_hash': u'NA',242                                                  u'hash_eq_server_hash': u'NA',243                                                  u'not_authorized': u'*',244                                                  u'not_available': u'*'},245                                   'STATE': {u'changed': u'*',246                                             u'has_metadata': u'*',247                                             u'is_directory': u'F'},248                                   'STATE_OUT': {u'changed': u'=',249                                                 u'has_metadata': u'=',250                                                 u'is_directory': u'='}}],251            u'AQ_DIR_NEW_OK': [{'ACTION': u'aq.uuid_map.set(marker, new_id)',252                                'ACTION_FUNC': u'release_marker_ok',253                                'COMMENTS': u"it's a file now",254                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',255                                               u'hash_eq_server_hash': u'NA',256                                               u'not_authorized': u'NA',257                                               u'not_available': u'NA'},258                                'STATE': {u'changed': u'*',259                                          u'has_metadata': u'T',260                                          u'is_directory': u'F'},261                                'STATE_OUT': {u'changed': u'=',262                                              u'has_metadata': u'=',263                                              u'is_directory': u'='}},264                               {'ACTION': u'aq.uuid_map.set(marker, new_id)',265                                'ACTION_FUNC': u'release_marker_ok',266                                'COMMENTS': u'the dir was now gone',267                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',268                                               u'hash_eq_server_hash': u'NA',269                                               u'not_authorized': u'NA',270                                               u'not_available': u'NA'},271                                'STATE': {u'changed': u'NA',272                                          u'has_metadata': u'F',273                                          u'is_directory': u'NA'},274                                'STATE_OUT': {u'changed': u'=',275                                              u'has_metadata': u'=',276                                              u'is_directory': u'='}},277                               {'ACTION': u'md.set(mdid, server_uuid=server_uuid)\nPANIC',278                                'ACTION_FUNC': u'DESPAIR',279                                'COMMENTS': u'',280                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',281                                               u'hash_eq_server_hash': u'NA',282                                               u'not_authorized': u'NA',283                                               u'not_available': u'NA'},284                                'STATE': {u'changed': u'SERVER',285                                          u'has_metadata': u'T',286                                          u'is_directory': u'T'},287                                'STATE_OUT': {u'changed': u'NONE',288                                              u'has_metadata': u'T',289                                              u'is_directory': u'='}},290                               {'ACTION': u'md.set(mdid, server_uuid=server_uuid)\nRESCAN',291                                'ACTION_FUNC': u'new_local_dir_created',292                                'COMMENTS': u'',293                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',294                                               u'hash_eq_server_hash': u'NA',295                                               u'not_authorized': u'NA',296                                               u'not_available': u'NA'},297                                'STATE': {u'changed': u'NONE',298                                          u'has_metadata': u'T',299                                          u'is_directory': u'T'},300                                'STATE_OUT': {u'changed': u'=',301                                              u'has_metadata': u'=',302                                              u'is_directory': u'='}}],303            u'AQ_DOWNLOAD_DOES_NOT_EXIST': [{'ACTION': u'',304                                             'ACTION_FUNC': u'delete_file',305                                             'COMMENTS': u"Directory doesn't exist anymore, remove it",306                                             'PARAMETERS': {u'hash_eq_local_hash': u'NA',307                                                            u'hash_eq_server_hash': u'NA',308                                                            u'not_authorized': u'NA',309                                                            u'not_available': u'NA'},310                                             'STATE': {u'changed': u'*',311                                                       u'has_metadata': u'T',312                                                       u'is_directory': u'T'},313                                             'STATE_OUT': {u'changed': u'NA',314                                                           u'has_metadata': u'F',315                                                           u'is_directory': u'NA'}},316                                            {'ACTION': u'',317                                             'ACTION_FUNC': u'delete_file',318                                             'COMMENTS': u"File doesn't exist anymore, remove it",319                                             'PARAMETERS': {u'hash_eq_local_hash': u'NA',320                                                            u'hash_eq_server_hash': u'NA',321                                                            u'not_authorized': u'NA',322                                                            u'not_available': u'NA'},323                                             'STATE': {u'changed': u'!LOCAL',324                                                       u'has_metadata': u'T',325                                                       u'is_directory': u'F'},326                                             'STATE_OUT': {u'changed': u'NA',327                                                           u'has_metadata': u'F',328                                                           u'is_directory': u'NA'}},329                                            {'ACTION': u'',330                                             'ACTION_FUNC': u'conflict_and_delete',331                                             'COMMENTS': u"File doesn't exist on server, but has local changes",332                                             'PARAMETERS': {u'hash_eq_local_hash': u'NA',333                                                            u'hash_eq_server_hash': u'NA',334                                                            u'not_authorized': u'NA',335                                                            u'not_available': u'NA'},336                                             'STATE': {u'changed': u'LOCAL',337                                                       u'has_metadata': u'T',338                                                       u'is_directory': u'F'},339                                             'STATE_OUT': {u'changed': u'NA',340                                                           u'has_metadata': u'F',341                                                           u'is_directory': u'NA'}},342                                            {'ACTION': u'pass',343                                             'ACTION_FUNC': u'nothing',344                                             'COMMENTS': u'',345                                             'PARAMETERS': {u'hash_eq_local_hash': u'NA',346                                                            u'hash_eq_server_hash': u'NA',347                                                            u'not_authorized': u'NA',348                                                            u'not_available': u'NA'},349                                             'STATE': {u'changed': u'*',350                                                       u'has_metadata': u'F',351                                                       u'is_directory': u'*'},352                                             'STATE_OUT': {u'changed': u'=',353                                                           u'has_metadata': u'=',354                                                           u'is_directory': u'='}}],355            u'AQ_DOWNLOAD_ERROR': [{'ACTION': u'md.remove_partial(uuid);',356                                    'ACTION_FUNC': u'remove_partial',357                                    'COMMENTS': u'error while downloading, remove the partial file',358                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',359                                                   u'hash_eq_server_hash': u'*',360                                                   u'not_authorized': u'T',361                                                   u'not_available': u'F'},362                                    'STATE': {u'changed': u'*',363                                              u'has_metadata': u'T',364                                              u'is_directory': u'*'},365                                    'STATE_OUT': {u'changed': u'NONE',366                                                  u'has_metadata': u'=',367                                                  u'is_directory': u'='}},368                                   {'ACTION': u'md.remove_partial(uuid);',369                                    'ACTION_FUNC': u'remove_partial',370                                    'COMMENTS': u'error while downloading, remove the partial file',371                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',372                                                   u'hash_eq_server_hash': u'*',373                                                   u'not_authorized': u'F',374                                                   u'not_available': u'T'},375                                    'STATE': {u'changed': u'*',376                                              u'has_metadata': u'T',377                                              u'is_directory': u'*'},378                                    'STATE_OUT': {u'changed': u'NONE',379                                                  u'has_metadata': u'=',380                                                  u'is_directory': u'='}},381                                   {'ACTION': u'NA',382                                    'ACTION_FUNC': u'',383                                    'COMMENTS': u'',384                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',385                                                   u'hash_eq_server_hash': u'*',386                                                   u'not_authorized': u'T',387                                                   u'not_available': u'T'},388                                    'STATE': {u'changed': u'*',389                                              u'has_metadata': u'T',390                                              u'is_directory': u'*'},391                                    'STATE_OUT': {u'changed': u'*',392                                                  u'has_metadata': u'*',393                                                  u'is_directory': u'*'}},394                                   {'ACTION': u'PANIC',395                                    'ACTION_FUNC': u'remove_partial',396                                    'COMMENTS': u'Should DESPAIR, but ATM we handle this in the handle_AQ_DOWNLOAD_ERROR as we have an extra error type returned by AQ when the .partial file is deleted by the user',397                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',398                                                   u'hash_eq_server_hash': u'*',399                                                   u'not_authorized': u'F',400                                                   u'not_available': u'F'},401                                    'STATE': {u'changed': u'*',402                                              u'has_metadata': u'T',403                                              u'is_directory': u'*'},404                                    'STATE_OUT': {u'changed': u'NONE',405                                                  u'has_metadata': u'=',406                                                  u'is_directory': u'='}},407                                   {'ACTION': u'NA',408                                    'ACTION_FUNC': u'',409                                    'COMMENTS': u'',410                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',411                                                   u'hash_eq_server_hash': u'*',412                                                   u'not_authorized': u'*',413                                                   u'not_available': u'NA'},414                                    'STATE': {u'changed': u'*',415                                              u'has_metadata': u'T',416                                              u'is_directory': u'*'},417                                    'STATE_OUT': {u'changed': u'*',418                                                  u'has_metadata': u'*',419                                                  u'is_directory': u'*'}},420                                   {'ACTION': u'NA',421                                    'ACTION_FUNC': u'',422                                    'COMMENTS': u'',423                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',424                                                   u'hash_eq_server_hash': u'*',425                                                   u'not_authorized': u'NA',426                                                   u'not_available': u'*'},427                                    'STATE': {u'changed': u'*',428                                              u'has_metadata': u'T',429                                              u'is_directory': u'*'},430                                    'STATE_OUT': {u'changed': u'*',431                                                  u'has_metadata': u'*',432                                                  u'is_directory': u'*'}},433                                   {'ACTION': u'pass',434                                    'ACTION_FUNC': u'nothing',435                                    'COMMENTS': u'',436                                    'PARAMETERS': {u'hash_eq_local_hash': u'*',437                                                   u'hash_eq_server_hash': u'*',438                                                   u'not_authorized': u'*',439                                                   u'not_available': u'*'},440                                    'STATE': {u'changed': u'*',441                                              u'has_metadata': u'F',442                                              u'is_directory': u'*'},443                                    'STATE_OUT': {u'changed': u'=',444                                                  u'has_metadata': u'=',445                                                  u'is_directory': u'='}}],446            u'AQ_DOWNLOAD_FINISHED': [{'ACTION': u'NA',447                                       'ACTION_FUNC': u'',448                                       'COMMENTS': u'',449                                       'PARAMETERS': {u'hash_eq_local_hash': u'*',450                                                      u'hash_eq_server_hash': u'NA',451                                                      u'not_authorized': u'NA',452                                                      u'not_available': u'NA'},453                                       'STATE': {u'changed': u'*',454                                                 u'has_metadata': u'T',455                                                 u'is_directory': u'*'},456                                       'STATE_OUT': {u'changed': u'=',457                                                     u'has_metadata': u'=',458                                                     u'is_directory': u'='}},459                                      {'ACTION': u'NA',460                                       'ACTION_FUNC': u'',461                                       'COMMENTS': u'',462                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',463                                                      u'hash_eq_server_hash': u'*',464                                                      u'not_authorized': u'NA',465                                                      u'not_available': u'NA'},466                                       'STATE': {u'changed': u'*',467                                                 u'has_metadata': u'T',468                                                 u'is_directory': u'*'},469                                       'STATE_OUT': {u'changed': u'=',470                                                     u'has_metadata': u'=',471                                                     u'is_directory': u'='}},472                                      {'ACTION': u'pass',473                                       'ACTION_FUNC': u'nothing',474                                       'COMMENTS': u'file was removed while we where downloading',475                                       'PARAMETERS': {u'hash_eq_local_hash': u'*',476                                                      u'hash_eq_server_hash': u'*',477                                                      u'not_authorized': u'NA',478                                                      u'not_available': u'NA'},479                                       'STATE': {u'changed': u'NA',480                                                 u'has_metadata': u'F',481                                                 u'is_directory': u'*'},482                                       'STATE_OUT': {u'changed': u'=',483                                                     u'has_metadata': u'=',484                                                     u'is_directory': u'='}},485                                      {'ACTION': u'pass',486                                       'ACTION_FUNC': u'nothing',487                                       'COMMENTS': u'cancelled by e.g. SV_HASH_NEW',488                                       'PARAMETERS': {u'hash_eq_local_hash': u'T',489                                                      u'hash_eq_server_hash': u'T',490                                                      u'not_authorized': u'NA',491                                                      u'not_available': u'NA'},492                                       'STATE': {u'changed': u'NONE',493                                                 u'has_metadata': u'T',494                                                 u'is_directory': u'F'},495                                       'STATE_OUT': {u'changed': u'=',496                                                     u'has_metadata': u'=',497                                                     u'is_directory': u'='}},498                                      {'ACTION': u'NA',499                                       'ACTION_FUNC': u'',500                                       'COMMENTS': u'NONE, T, F is a falacy (NONE implies server_hash == local_hash)',501                                       'PARAMETERS': {u'hash_eq_local_hash': u'F',502                                                      u'hash_eq_server_hash': u'T',503                                                      u'not_authorized': u'NA',504                                                      u'not_available': u'NA'},505                                       'STATE': {u'changed': u'NONE',506                                                 u'has_metadata': u'T',507                                                 u'is_directory': u'F'},508                                       'STATE_OUT': {u'changed': u'*',509                                                     u'has_metadata': u'*',510                                                     u'is_directory': u'*'}},511                                      {'ACTION': u'NA',512                                       'ACTION_FUNC': u'',513                                       'COMMENTS': u'NONE, F, T is a falacy (NONE implies server_hash == local_hash)',514                                       'PARAMETERS': {u'hash_eq_local_hash': u'T',515                                                      u'hash_eq_server_hash': u'F',516                                                      u'not_authorized': u'NA',517                                                      u'not_available': u'NA'},518                                       'STATE': {u'changed': u'NONE',519                                                 u'has_metadata': u'T',520                                                 u'is_directory': u'F'},521                                       'STATE_OUT': {u'changed': u'*',522                                                     u'has_metadata': u'*',523                                                     u'is_directory': u'*'}},524                                      {'ACTION': u'pass',525                                       'ACTION_FUNC': u'nothing',526                                       'COMMENTS': u'cancelled by e.g. SV_HASH_NEW',527                                       'PARAMETERS': {u'hash_eq_local_hash': u'F',528                                                      u'hash_eq_server_hash': u'F',529                                                      u'not_authorized': u'NA',530                                                      u'not_available': u'NA'},531                                       'STATE': {u'changed': u'NONE',532                                                 u'has_metadata': u'T',533                                                 u'is_directory': u'F'},534                                       'STATE_OUT': {u'changed': u'=',535                                                     u'has_metadata': u'=',536                                                     u'is_directory': u'='}},537                                      {'ACTION': u'NA',538                                       'ACTION_FUNC': u'',539                                       'COMMENTS': u'SERVER, T, T is a falacy (SERVER implies server_hash != local_hash)',540                                       'PARAMETERS': {u'hash_eq_local_hash': u'T',541                                                      u'hash_eq_server_hash': u'T',542                                                      u'not_authorized': u'NA',543                                                      u'not_available': u'NA'},544                                       'STATE': {u'changed': u'SERVER',545                                                 u'has_metadata': u'T',546                                                 u'is_directory': u'F'},547                                       'STATE_OUT': {u'changed': u'*',548                                                     u'has_metadata': u'*',549                                                     u'is_directory': u'*'}},550                                      {'ACTION': u'md.commit_partial(uuid, local_hash=hash)',551                                       'ACTION_FUNC': u'commit_file',552                                       'COMMENTS': u'this is the vainilla case',553                                       'PARAMETERS': {u'hash_eq_local_hash': u'F',554                                                      u'hash_eq_server_hash': u'T',555                                                      u'not_authorized': u'NA',556                                                      u'not_available': u'NA'},557                                       'STATE': {u'changed': u'SERVER',558                                                 u'has_metadata': u'T',559                                                 u'is_directory': u'F'},560                                       'STATE_OUT': {u'changed': u'NONE',561                                                     u'has_metadata': u'=',562                                                     u'is_directory': u'='}},563                                      {'ACTION': u'',564                                       'ACTION_FUNC': u'nothing',565                                       'COMMENTS': u'not what we want',566                                       'PARAMETERS': {u'hash_eq_local_hash': u'T',567                                                      u'hash_eq_server_hash': u'F',568                                                      u'not_authorized': u'NA',569                                                      u'not_available': u'NA'},570                                       'STATE': {u'changed': u'SERVER',571                                                 u'has_metadata': u'T',572                                                 u'is_directory': u'F'},573                                       'STATE_OUT': {u'changed': u'LOCAL',574                                                     u'has_metadata': u'=',575                                                     u'is_directory': u'='}},576                                      {'ACTION': u'pass',577                                       'ACTION_FUNC': u'nothing',578                                       'COMMENTS': u'another download is already in progress',579                                       'PARAMETERS': {u'hash_eq_local_hash': u'F',580                                                      u'hash_eq_server_hash': u'F',581                                                      u'not_authorized': u'NA',582                                                      u'not_available': u'NA'},583                                       'STATE': {u'changed': u'SERVER',584                                                 u'has_metadata': u'T',585                                                 u'is_directory': u'F'},586                                       'STATE_OUT': {u'changed': u'=',587                                                     u'has_metadata': u'=',588                                                     u'is_directory': u'='}},589                                      {'ACTION': u'NA',590                                       'ACTION_FUNC': u'',591                                       'COMMENTS': u'LOCAL, T, T is a falacy (LOCAL implies server_hash != local_hash)',592                                       'PARAMETERS': {u'hash_eq_local_hash': u'T',593                                                      u'hash_eq_server_hash': u'T',594                                                      u'not_authorized': u'NA',595                                                      u'not_available': u'NA'},596                                       'STATE': {u'changed': u'LOCAL',597                                                 u'has_metadata': u'T',598                                                 u'is_directory': u'F'},599                                       'STATE_OUT': {u'changed': u'*',600                                                     u'has_metadata': u'*',601                                                     u'is_directory': u'*'}},602                                      {'ACTION': u'pass',603                                       'ACTION_FUNC': u'nothing',604                                       'COMMENTS': u'cancelled by e.g. SV_HASH_NEW',605                                       'PARAMETERS': {u'hash_eq_local_hash': u'F',606                                                      u'hash_eq_server_hash': u'T',607                                                      u'not_authorized': u'NA',608                                                      u'not_available': u'NA'},609                                       'STATE': {u'changed': u'LOCAL',610                                                 u'has_metadata': u'T',611                                                 u'is_directory': u'F'},612                                       'STATE_OUT': {u'changed': u'=',613                                                     u'has_metadata': u'=',614                                                     u'is_directory': u'='}},615                                      {'ACTION': u'pass',616                                       'ACTION_FUNC': u'nothing',617                                       'COMMENTS': u'cancelled by e.g. SV_HASH_NEW',618                                       'PARAMETERS': {u'hash_eq_local_hash': u'T',619                                                      u'hash_eq_server_hash': u'F',620                                                      u'not_authorized': u'NA',621                                                      u'not_available': u'NA'},622                                       'STATE': {u'changed': u'LOCAL',623                                                 u'has_metadata': u'T',624                                                 u'is_directory': u'F'},625                                       'STATE_OUT': {u'changed': u'=',626                                                     u'has_metadata': u'=',627                                                     u'is_directory': u'='}},628                                      {'ACTION': u'pass',629                                       'ACTION_FUNC': u'nothing',630                                       'COMMENTS': u'cancelled by e.g. SV_HASH_NEW',631                                       'PARAMETERS': {u'hash_eq_local_hash': u'F',632                                                      u'hash_eq_server_hash': u'F',633                                                      u'not_authorized': u'NA',634                                                      u'not_available': u'NA'},635                                       'STATE': {u'changed': u'LOCAL',636                                                 u'has_metadata': u'T',637                                                 u'is_directory': u'F'},638                                       'STATE_OUT': {u'changed': u'=',639                                                     u'has_metadata': u'=',640                                                     u'is_directory': u'='}},641                                      {'ACTION': u'pass',642                                       'ACTION_FUNC': u'DESPAIR',643                                       'COMMENTS': u'we dont download directories anymore',644                                       'PARAMETERS': {u'hash_eq_local_hash': u'!NA',645                                                      u'hash_eq_server_hash': u'!NA',646                                                      u'not_authorized': u'NA',647                                                      u'not_available': u'NA'},648                                       'STATE': {u'changed': u'NONE',649                                                 u'has_metadata': u'T',650                                                 u'is_directory': u'T'},651                                       'STATE_OUT': {u'changed': u'=',652                                                     u'has_metadata': u'=',653                                                     u'is_directory': u'='}},654                                      {'ACTION': u'merge_from_partial(uuid)',655                                       'ACTION_FUNC': u'DESPAIR',656                                       'COMMENTS': u'we dont download directories anymore',657                                       'PARAMETERS': {u'hash_eq_local_hash': u'!NA',658                                                      u'hash_eq_server_hash': u'T',659                                                      u'not_authorized': u'NA',660                                                      u'not_available': u'NA'},661                                       'STATE': {u'changed': u'SERVER',662                                                 u'has_metadata': u'T',663                                                 u'is_directory': u'T'},664                                       'STATE_OUT': {u'changed': u'NONE',665                                                     u'has_metadata': u'=',666                                                     u'is_directory': u'='}},667                                      {'ACTION': u'pass',668                                       'ACTION_FUNC': u'DESPAIR',669                                       'COMMENTS': u'we dont download directories anymore',670                                       'PARAMETERS': {u'hash_eq_local_hash': u'!NA',671                                                      u'hash_eq_server_hash': u'F',672                                                      u'not_authorized': u'NA',673                                                      u'not_available': u'NA'},674                                       'STATE': {u'changed': u'SERVER',675                                                 u'has_metadata': u'T',676                                                 u'is_directory': u'T'},677                                       'STATE_OUT': {u'changed': u'SERVER',678                                                     u'has_metadata': u'=',679                                                     u'is_directory': u'='}}],680            u'AQ_FILE_DELETE_ERROR': [{'ACTION': u'md.create(path=path, uuid=uuid, type=type) aq.query(uuid=uuid)',681                                       'ACTION_FUNC': u'',682                                       'COMMENTS': u'the user deleted something we couldnt delete from the server. Re create.',683                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',684                                                      u'hash_eq_server_hash': u'NA',685                                                      u'not_authorized': u'T',686                                                      u'not_available': u'F'},687                                       'STATE': {u'changed': u'NA',688                                                 u'has_metadata': u'F',689                                                 u'is_directory': u'NA'},690                                       'STATE_OUT': {u'changed': u'NONE',691                                                     u'has_metadata': u'T',692                                                     u'is_directory': u'F'}},693                                      {'ACTION': u'md.create(path=path, uuid=uuid, type=type) aq.query(uuid=uuid)',694                                       'ACTION_FUNC': u'',695                                       'COMMENTS': u'the user deleted something we couldnt delete from the server. Re create.',696                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',697                                                      u'hash_eq_server_hash': u'NA',698                                                      u'not_authorized': u'F',699                                                      u'not_available': u'T'},700                                       'STATE': {u'changed': u'NA',701                                                 u'has_metadata': u'F',702                                                 u'is_directory': u'NA'},703                                       'STATE_OUT': {u'changed': u'NONE',704                                                     u'has_metadata': u'T',705                                                     u'is_directory': u'='}},706                                      {'ACTION': u'NA',707                                       'ACTION_FUNC': u'',708                                       'COMMENTS': u'',709                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',710                                                      u'hash_eq_server_hash': u'NA',711                                                      u'not_authorized': u'NA',712                                                      u'not_available': u'*'},713                                       'STATE': {u'changed': u'NA',714                                                 u'has_metadata': u'F',715                                                 u'is_directory': u'NA'},716                                       'STATE_OUT': {u'changed': u'*',717                                                     u'has_metadata': u'*',718                                                     u'is_directory': u'*'}},719                                      {'ACTION': u'NA',720                                       'ACTION_FUNC': u'',721                                       'COMMENTS': u'',722                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',723                                                      u'hash_eq_server_hash': u'NA',724                                                      u'not_authorized': u'*',725                                                      u'not_available': u'NA'},726                                       'STATE': {u'changed': u'NA',727                                                 u'has_metadata': u'F',728                                                 u'is_directory': u'NA'},729                                       'STATE_OUT': {u'changed': u'*',730                                                     u'has_metadata': u'*',731                                                     u'is_directory': u'*'}},732                                      {'ACTION': u'NA',733                                       'ACTION_FUNC': u'',734                                       'COMMENTS': u'',735                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',736                                                      u'hash_eq_server_hash': u'NA',737                                                      u'not_authorized': u'*',738                                                      u'not_available': u'NA'},739                                       'STATE': {u'changed': u'*',740                                                 u'has_metadata': u'T',741                                                 u'is_directory': u'*'},742                                       'STATE_OUT': {u'changed': u'*',743                                                     u'has_metadata': u'*',744                                                     u'is_directory': u'*'}},745                                      {'ACTION': u'NA',746                                       'ACTION_FUNC': u'',747                                       'COMMENTS': u'',748                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',749                                                      u'hash_eq_server_hash': u'NA',750                                                      u'not_authorized': u'NA',751                                                      u'not_available': u'*'},752                                       'STATE': {u'changed': u'*',753                                                 u'has_metadata': u'T',754                                                 u'is_directory': u'*'},755                                       'STATE_OUT': {u'changed': u'*',756                                                     u'has_metadata': u'*',757                                                     u'is_directory': u'*'}},758                                      {'ACTION': u'CONFLICT, recreate from deleted uuid',759                                       'ACTION_FUNC': u'',760                                       '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',761                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',762                                                      u'hash_eq_server_hash': u'NA',763                                                      u'not_authorized': u'F',764                                                      u'not_available': u'T'},765                                       'STATE': {u'changed': u'!SERVER',766                                                 u'has_metadata': u'T',767                                                 u'is_directory': u'*'},768                                       'STATE_OUT': {u'changed': u'NONE',769                                                     u'has_metadata': u'T',770                                                     u'is_directory': u'F'}},771                                      {'ACTION': u'DESPAIR',772                                       'ACTION_FUNC': u'DESPAIR',773                                       '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',774                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',775                                                      u'hash_eq_server_hash': u'NA',776                                                      u'not_authorized': u'F',777                                                      u'not_available': u'T'},778                                       'STATE': {u'changed': u'SERVER',779                                                 u'has_metadata': u'T',780                                                 u'is_directory': u'*'},781                                       'STATE_OUT': {u'changed': u'*',782                                                     u'has_metadata': u'*',783                                                     u'is_directory': u'*'}},784                                      {'ACTION': u'CONFLICT',785                                       'ACTION_FUNC': u'',786                                       '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',787                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',788                                                      u'hash_eq_server_hash': u'NA',789                                                      u'not_authorized': u'T',790                                                      u'not_available': u'F'},791                                       'STATE': {u'changed': u'*',792                                                 u'has_metadata': u'T',793                                                 u'is_directory': u'*'},794                                       'STATE_OUT': {u'changed': u'NONE',795                                                     u'has_metadata': u'T',796                                                     u'is_directory': u'T'}},797                                      {'ACTION': u'PANIC',798                                       'ACTION_FUNC': u'',799                                       'COMMENTS': u'',800                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',801                                                      u'hash_eq_server_hash': u'NA',802                                                      u'not_authorized': u'F',803                                                      u'not_available': u'F'},804                                       'STATE': {u'changed': u'*',805                                                 u'has_metadata': u'*',806                                                 u'is_directory': u'*'},807                                       'STATE_OUT': {u'changed': u'NONE',808                                                     u'has_metadata': u'T',809                                                     u'is_directory': u'F'}},810                                      {'ACTION': u'NA',811                                       'ACTION_FUNC': u'',812                                       'COMMENTS': u'',813                                       'PARAMETERS': {u'hash_eq_local_hash': u'NA',814                                                      u'hash_eq_server_hash': u'NA',815                                                      u'not_authorized': u'T',816                                                      u'not_available': u'T'},817                                       'STATE': {u'changed': u'*',818                                                 u'has_metadata': u'*',819                                                 u'is_directory': u'*'},820                                       'STATE_OUT': {u'changed': u'*',821                                                     u'has_metadata': u'*',822                                                     u'is_directory': u'*'}}],823            u'AQ_FILE_DELETE_OK': [{'ACTION': u'pass',824                                    'ACTION_FUNC': u'nothing',825                                    'COMMENTS': u'vanilla case',826                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',827                                                   u'hash_eq_server_hash': u'NA',828                                                   u'not_authorized': u'NA',829                                                   u'not_available': u'NA'},830                                    'STATE': {u'changed': u'NA',831                                              u'has_metadata': u'F',832                                              u'is_directory': u'NA'},833                                    'STATE_OUT': {u'changed': u'=',834                                                  u'has_metadata': u'=',835                                                  u'is_directory': u'='}},836                                   {'ACTION': u'pass',837                                    'ACTION_FUNC': u'nothing',838                                    'COMMENTS': u'/c',839                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',840                                                   u'hash_eq_server_hash': u'NA',841                                                   u'not_authorized': u'NA',842                                                   u'not_available': u'NA'},843                                    'STATE': {u'changed': u'NONE',844                                              u'has_metadata': u'T',845                                              u'is_directory': u'F'},846                                    'STATE_OUT': {u'changed': u'=',847                                                  u'has_metadata': u'=',848                                                  u'is_directory': u'='}},849                                   {'ACTION': u'pass',850                                    'ACTION_FUNC': u'nothing',851                                    'COMMENTS': u'we deleted something the user recreated, someone else is taking care of uploading this changes',852                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',853                                                   u'hash_eq_server_hash': u'NA',854                                                   u'not_authorized': u'NA',855                                                   u'not_available': u'NA'},856                                    'STATE': {u'changed': u'LOCAL',857                                              u'has_metadata': u'T',858                                              u'is_directory': u'F'},859                                    'STATE_OUT': {u'changed': u'=',860                                                  u'has_metadata': u'=',861                                                  u'is_directory': u'='}},862                                   {'ACTION': u'DESPAIR',863                                    'ACTION_FUNC': u'DESPAIR',864                                    'COMMENTS': u'somehow we lost ordering of stuff and we got a new file and changes since we tried to delete this file',865                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',866                                                   u'hash_eq_server_hash': u'NA',867                                                   u'not_authorized': u'NA',868                                                   u'not_available': u'NA'},869                                    'STATE': {u'changed': u'SERVER',870                                              u'has_metadata': u'T',871                                              u'is_directory': u'*'},872                                    'STATE_OUT': {u'changed': u'*',873                                                  u'has_metadata': u'*',874                                                  u'is_directory': u'*'}},875                                   {'ACTION': u'pass',876                                    'ACTION_FUNC': u'nothing',877                                    'COMMENTS': u'',878                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',879                                                   u'hash_eq_server_hash': u'NA',880                                                   u'not_authorized': u'NA',881                                                   u'not_available': u'NA'},882                                    'STATE': {u'changed': u'!SERVER',883                                              u'has_metadata': u'T',884                                              u'is_directory': u'T'},885                                    'STATE_OUT': {u'changed': u'=',886                                                  u'has_metadata': u'=',887                                                  u'is_directory': u'='}}],888            u'AQ_FILE_MOVE_OK': [{'ACTION': u'',889                                  'ACTION_FUNC': u'nothing',890                                  'COMMENTS': u'deleted locally',891                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',892                                                 u'hash_eq_server_hash': u'NA',893                                                 u'not_authorized': u'NA',894                                                 u'not_available': u'NA'},895                                  'STATE': {u'changed': u'NA',896                                            u'has_metadata': u'F',897                                            u'is_directory': u'NA'},898                                  'STATE_OUT': {u'changed': u'*',899                                                u'has_metadata': u'*',900                                                u'is_directory': u'*'}},901                                 {'ACTION': u'',902                                  'ACTION_FUNC': u'nothing',903                                  'COMMENTS': u'vanilla case',904                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',905                                                 u'hash_eq_server_hash': u'NA',906                                                 u'not_authorized': u'NA',907                                                 u'not_available': u'NA'},908                                  'STATE': {u'changed': u'*',909                                            u'has_metadata': u'T',910                                            u'is_directory': u'*'},911                                  'STATE_OUT': {u'changed': u'=',912                                                u'has_metadata': u'T',913                                                u'is_directory': u'='}}],914            u'AQ_FILE_NEW_ERROR': [{'ACTION': u'pass',915                                    'ACTION_FUNC': u'release_marker_error',916                                    'COMMENTS': u'',917                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',918                                                   u'hash_eq_server_hash': u'NA',919                                                   u'not_authorized': u'*',920                                                   u'not_available': u'*'},921                                    'STATE': {u'changed': u'NA',922                                              u'has_metadata': u'F',923                                              u'is_directory': u'NA'},924                                    'STATE_OUT': {u'changed': u'=',925                                                  u'has_metadata': u'=',926                                                  u'is_directory': u'='}},927                                   {'ACTION': u'CONFLICT',928                                    'ACTION_FUNC': u'filedir_error_in_creation',929                                    'COMMENTS': u'',930                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',931                                                   u'hash_eq_server_hash': u'NA',932                                                   u'not_authorized': u'*',933                                                   u'not_available': u'*'},934                                    'STATE': {u'changed': u'*',935                                              u'has_metadata': u'*',936                                              u'is_directory': u'F'},937                                    'STATE_OUT': {u'changed': u'NA',938                                                  u'has_metadata': u'F',939                                                  u'is_directory': u'NA'}},940                                   {'ACTION': u'pass',941                                    'ACTION_FUNC': u'release_marker_error',942                                    'COMMENTS': u'',943                                    'PARAMETERS': {u'hash_eq_local_hash': u'NA',944                                                   u'hash_eq_server_hash': u'NA',945                                                   u'not_authorized': u'*',946                                                   u'not_available': u'*'},947                                    'STATE': {u'changed': u'*',948                                              u'has_metadata': u'*',949                                              u'is_directory': u'T'},950                                    'STATE_OUT': {u'changed': u'=',951                                                  u'has_metadata': u'=',952                                                  u'is_directory': u'='}}],953            u'AQ_FILE_NEW_OK': [{'ACTION': u'md.set(mdid, server_uuid=server_uuid)',954                                 'ACTION_FUNC': u'new_local_file_created',955                                 'COMMENTS': u'',956                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',957                                                u'hash_eq_server_hash': u'NA',958                                                u'not_authorized': u'NA',959                                                u'not_available': u'NA'},960                                 'STATE': {u'changed': u'NONE',961                                           u'has_metadata': u'T',962                                           u'is_directory': u'F'},963                                 'STATE_OUT': {u'changed': u'=',964                                               u'has_metadata': u'=',965                                               u'is_directory': u'='}},966                                {'ACTION': u'md.set(mdid, server_uuid=server_uuid)',967                                 'ACTION_FUNC': u'new_local_file_created',968                                 'COMMENTS': u'we got IN_FILE_CHANGED and HQ_HASH_NEW between IN_FILE_NEW and AQ_FILE_NEW_OK',969                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',970                                                u'hash_eq_server_hash': u'NA',971                                                u'not_authorized': u'NA',972                                                u'not_available': u'NA'},973                                 'STATE': {u'changed': u'LOCAL',974                                           u'has_metadata': u'T',975                                           u'is_directory': u'F'},976                                 'STATE_OUT': {u'changed': u'=',977                                               u'has_metadata': u'=',978                                               u'is_directory': u'='}},979                                {'ACTION': u'aq.uuid_map.set(marker, new_id)',980                                 'ACTION_FUNC': u'release_marker_ok',981                                 'COMMENTS': u'file deleted locally',982                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',983                                                u'hash_eq_server_hash': u'NA',984                                                u'not_authorized': u'NA',985                                                u'not_available': u'NA'},986                                 'STATE': {u'changed': u'NA',987                                           u'has_metadata': u'F',988                                           u'is_directory': u'NA'},989                                 'STATE_OUT': {u'changed': u'=',990                                               u'has_metadata': u'=',991                                               u'is_directory': u'='}},992                                {'ACTION': u"Node got node_id with a SV_FILE_NEW and now it's uploading something",993                                 'ACTION_FUNC': u'nothing',994                                 'COMMENTS': u'',995                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',996                                                u'hash_eq_server_hash': u'NA',997                                                u'not_authorized': u'NA',998                                                u'not_available': u'NA'},999                                 'STATE': {u'changed': u'SERVER',1000                                           u'has_metadata': u'T',1001                                           u'is_directory': u'F'},1002                                 'STATE_OUT': {u'changed': u'=',1003                                               u'has_metadata': u'=',1004                                               u'is_directory': u'='}},1005                                {'ACTION': u'aq.uuid_map.set(marker, new_id)',1006                                 'ACTION_FUNC': u'release_marker_ok',1007                                 'COMMENTS': u"it's a directory now",1008                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',1009                                                u'hash_eq_server_hash': u'NA',1010                                                u'not_authorized': u'NA',1011                                                u'not_available': u'NA'},1012                                 'STATE': {u'changed': u'*',1013                                           u'has_metadata': u'T',1014                                           u'is_directory': u'T'},1015                                 'STATE_OUT': {u'changed': u'=',1016                                               u'has_metadata': u'=',1017                                               u'is_directory': u'='}}],1018            u'AQ_MOVE_ERROR': [{'ACTION': u'md.create(path=path, uuid=target_uuid, type=type)\naq.query(uuid=target_uuid)',1019                                'ACTION_FUNC': u'clean_move_limbo',1020                                'COMMENTS': u'deleted after local move and move failed on server. ',1021                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1022                                               u'hash_eq_server_hash': u'NA',1023                                               u'not_authorized': u'NA',1024                                               u'not_available': u'NA'},1025                                'STATE': {u'changed': u'NA',1026                                          u'has_metadata': u'F',1027                                          u'is_directory': u'NA'},1028                                'STATE_OUT': {u'changed': u'=',1029                                              u'has_metadata': u'=',1030                                              u'is_directory': u'='}},1031                               {'ACTION': u'move file to conflict\nquery(uuid=source.parent)\nquery(uuid=dest.parent)\n',1032                                'ACTION_FUNC': u'clean_move_limbo',1033                                'COMMENTS': u'something bad happened. Conflict and rescan',1034                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1035                                               u'hash_eq_server_hash': u'NA',1036                                               u'not_authorized': u'NA',1037                                               u'not_available': u'NA'},1038                                'STATE': {u'changed': u'*',1039                                          u'has_metadata': u'T',1040                                          u'is_directory': u'*'},1041                                'STATE_OUT': {u'changed': u'=',1042                                              u'has_metadata': u'=',1043                                              u'is_directory': u'='}}],1044            u'AQ_MOVE_OK': [{'ACTION': u'pass',1045                             'ACTION_FUNC': u'clean_move_limbo',1046                             'COMMENTS': u'deleted after move',1047                             'PARAMETERS': {u'hash_eq_local_hash': u'NA',1048                                            u'hash_eq_server_hash': u'NA',1049                                            u'not_authorized': u'NA',1050                                            u'not_available': u'NA'},1051                             'STATE': {u'changed': u'NA',1052                                       u'has_metadata': u'F',1053                                       u'is_directory': u'NA'},1054                             'STATE_OUT': {u'changed': u'=',1055                                           u'has_metadata': u'=',1056                                           u'is_directory': u'='}},1057                            {'ACTION': u'pass',1058                             'ACTION_FUNC': u'clean_move_limbo',1059                             'COMMENTS': u'everything good',1060                             'PARAMETERS': {u'hash_eq_local_hash': u'NA',1061                                            u'hash_eq_server_hash': u'NA',1062                                            u'not_authorized': u'NA',1063                                            u'not_available': u'NA'},1064                             'STATE': {u'changed': u'*',1065                                       u'has_metadata': u'T',1066                                       u'is_directory': u'*'},1067                             'STATE_OUT': {u'changed': u'=',1068                                           u'has_metadata': u'=',1069                                           u'is_directory': u'='}}],1070            u'AQ_UNLINK_ERROR': [{'ACTION': u'remove the node from trash',1071                                  'ACTION_FUNC': u'remove_trash',1072                                  'COMMENTS': u'',1073                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',1074                                                 u'hash_eq_server_hash': u'NA',1075                                                 u'not_authorized': u'NA',1076                                                 u'not_available': u'NA'},1077                                  'STATE': {u'changed': u'*',1078                                            u'has_metadata': u'*',1079                                            u'is_directory': u'*'},1080                                  'STATE_OUT': {u'changed': u'=',1081                                                u'has_metadata': u'=',1082                                                u'is_directory': u'='}}],1083            u'AQ_UNLINK_OK': [{'ACTION': u'remove the node from trash',1084                               'ACTION_FUNC': u'remove_trash',1085                               'COMMENTS': u'',1086                               'PARAMETERS': {u'hash_eq_local_hash': u'NA',1087                                              u'hash_eq_server_hash': u'NA',1088                                              u'not_authorized': u'NA',1089                                              u'not_available': u'NA'},1090                               'STATE': {u'changed': u'*',1091                                         u'has_metadata': u'*',1092                                         u'is_directory': u'*'},1093                               'STATE_OUT': {u'changed': u'=',1094                                             u'has_metadata': u'=',1095                                             u'is_directory': u'='}}],1096            u'AQ_UPLOAD_ERROR': [{'ACTION': u'pass',1097                                  'ACTION_FUNC': u'nothing',1098                                  'COMMENTS': u'',1099                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',1100                                                 u'hash_eq_server_hash': u'*',1101                                                 u'not_authorized': u'*',1102                                                 u'not_available': u'*'},1103                                  'STATE': {u'changed': u'NA',1104                                            u'has_metadata': u'F',1105                                            u'is_directory': u'NA'},1106                                  'STATE_OUT': {u'changed': u'=',1107                                                u'has_metadata': u'=',1108                                                u'is_directory': u'='}},1109                                 {'ACTION': u'NA',1110                                  'ACTION_FUNC': u'',1111                                  'COMMENTS': u'',1112                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',1113                                                 u'hash_eq_server_hash': u'*',1114                                                 u'not_authorized': u'*',1115                                                 u'not_available': u'NA'},1116                                  'STATE': {u'changed': u'*',1117                                            u'has_metadata': u'T',1118                                            u'is_directory': u'*'},1119                                  'STATE_OUT': {u'changed': u'*',1120                                                u'has_metadata': u'*',1121                                                u'is_directory': u'*'}},1122                                 {'ACTION': u'NA',1123                                  'ACTION_FUNC': u'',1124                                  'COMMENTS': u'',1125                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',1126                                                 u'hash_eq_server_hash': u'*',1127                                                 u'not_authorized': u'NA',1128                                                 u'not_available': u'*'},1129                                  'STATE': {u'changed': u'*',1130                                            u'has_metadata': u'T',1131                                            u'is_directory': u'*'},1132                                  'STATE_OUT': {u'changed': u'*',1133                                                u'has_metadata': u'*',1134                                                u'is_directory': u'*'}},1135                                 {'ACTION': u'',1136                                  'ACTION_FUNC': u'nothing',1137                                  'COMMENTS': u'',1138                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',1139                                                 u'hash_eq_server_hash': u'*',1140                                                 u'not_authorized': u'F',1141                                                 u'not_available': u'F'},1142                                  'STATE': {u'changed': u'*',1143                                            u'has_metadata': u'T',1144                                            u'is_directory': u'F'},1145                                  'STATE_OUT': {u'changed': u'=',1146                                                u'has_metadata': u'=',1147                                                u'is_directory': u'='}},1148                                 {'ACTION': u'NA',1149                                  'ACTION_FUNC': u'',1150                                  'COMMENTS': u'',1151                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',1152                                                 u'hash_eq_server_hash': u'*',1153                                                 u'not_authorized': u'T',1154                                                 u'not_available': u'T'},1155                                  'STATE': {u'changed': u'*',1156                                            u'has_metadata': u'T',1157                                            u'is_directory': u'F'},1158                                  'STATE_OUT': {u'changed': u'*',1159                                                u'has_metadata': u'*',1160                                                u'is_directory': u'*'}},1161                                 {'ACTION': u'pass',1162                                  'ACTION_FUNC': u'nothing',1163                                  'COMMENTS': u'',1164                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',1165                                                 u'hash_eq_server_hash': u'*',1166                                                 u'not_authorized': u'F',1167                                                 u'not_available': u'T'},1168                                  'STATE': {u'changed': u'*',1169                                            u'has_metadata': u'T',1170                                            u'is_directory': u'F'},1171                                  'STATE_OUT': {u'changed': u'=',1172                                                u'has_metadata': u'=',1173                                                u'is_directory': u'='}},1174                                 {'ACTION': u'pass',1175                                  'ACTION_FUNC': u'nothing',1176                                  'COMMENTS': u'',1177                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',1178                                                 u'hash_eq_server_hash': u'*',1179                                                 u'not_authorized': u'T',1180                                                 u'not_available': u'F'},1181                                  'STATE': {u'changed': u'*',1182                                            u'has_metadata': u'T',1183                                            u'is_directory': u'F'},1184                                  'STATE_OUT': {u'changed': u'=',1185                                                u'has_metadata': u'=',1186                                                u'is_directory': u'='}},1187                                 {'ACTION': u'DESPAIR',1188                                  'ACTION_FUNC': u'DESPAIR',1189                                  'COMMENTS': u'we never try to upload directories',1190                                  'PARAMETERS': {u'hash_eq_local_hash': u'*',1191                                                 u'hash_eq_server_hash': u'*',1192                                                 u'not_authorized': u'!NA',1193                                                 u'not_available': u'!NA'},1194                                  'STATE': {u'changed': u'*',1195                                            u'has_metadata': u'T',1196                                            u'is_directory': u'T'},1197                                  'STATE_OUT': {u'changed': u'*',1198                                                u'has_metadata': u'*',1199                                                u'is_directory': u'*'}}],1200            u'AQ_UPLOAD_FINISHED': [{'ACTION': u'pass',1201                                     'ACTION_FUNC': u'nothing',1202                                     'COMMENTS': u'',1203                                     'PARAMETERS': {u'hash_eq_local_hash': u'*',1204                                                    u'hash_eq_server_hash': u'*',1205                                                    u'not_authorized': u'NA',1206                                                    u'not_available': u'NA'},1207                                     'STATE': {u'changed': u'NA',1208                                               u'has_metadata': u'F',1209                                               u'is_directory': u'NA'},1210                                     'STATE_OUT': {u'changed': u'=',1211                                                   u'has_metadata': u'=',1212                                                   u'is_directory': u'='}},1213                                    {'ACTION': u'NA',1214                                     'ACTION_FUNC': u'',1215                                     'COMMENTS': u'',1216                                     'PARAMETERS': {u'hash_eq_local_hash': u'NA',1217                                                    u'hash_eq_server_hash': u'*',1218                                                    u'not_authorized': u'NA',1219                                                    u'not_available': u'NA'},1220                                     'STATE': {u'changed': u'*',1221                                               u'has_metadata': u'T',1222                                               u'is_directory': u'F'},1223                                     'STATE_OUT': {u'changed': u'*',1224                                                   u'has_metadata': u'*',1225                                                   u'is_directory': u'*'}},1226                                    {'ACTION': u'NA',1227                                     'ACTION_FUNC': u'',1228                                     'COMMENTS': u'',1229                                     'PARAMETERS': {u'hash_eq_local_hash': u'*',1230                                                    u'hash_eq_server_hash': u'NA',1231                                                    u'not_authorized': u'NA',1232                                                    u'not_available': u'NA'},1233                                     'STATE': {u'changed': u'*',1234                                               u'has_metadata': u'T',1235                                               u'is_directory': u'F'},1236                                     'STATE_OUT': {u'changed': u'*',1237                                                   u'has_metadata': u'*',1238                                                   u'is_directory': u'*'}},1239                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',1240                                     'ACTION_FUNC': u'commit_upload',1241                                     'COMMENTS': u'',1242                                     'PARAMETERS': {u'hash_eq_local_hash': u'T',1243                                                    u'hash_eq_server_hash': u'T',1244                                                    u'not_authorized': u'NA',1245                                                    u'not_available': u'NA'},1246                                     'STATE': {u'changed': u'NONE',1247                                               u'has_metadata': u'T',1248                                               u'is_directory': u'F'},1249                                     'STATE_OUT': {u'changed': u'=',1250                                                   u'has_metadata': u'=',1251                                                   u'is_directory': u'='}},1252                                    {'ACTION': u'NA',1253                                     'ACTION_FUNC': u'',1254                                     'COMMENTS': u'',1255                                     'PARAMETERS': {u'hash_eq_local_hash': u'F',1256                                                    u'hash_eq_server_hash': u'T',1257                                                    u'not_authorized': u'NA',1258                                                    u'not_available': u'NA'},1259                                     'STATE': {u'changed': u'NONE',1260                                               u'has_metadata': u'T',1261                                               u'is_directory': u'F'},1262                                     'STATE_OUT': {u'changed': u'*',1263                                                   u'has_metadata': u'*',1264                                                   u'is_directory': u'*'}},1265                                    {'ACTION': u'NA',1266                                     'ACTION_FUNC': u'',1267                                     'COMMENTS': u'',1268                                     'PARAMETERS': {u'hash_eq_local_hash': u'T',1269                                                    u'hash_eq_server_hash': u'F',1270                                                    u'not_authorized': u'NA',1271                                                    u'not_available': u'NA'},1272                                     'STATE': {u'changed': u'NONE',1273                                               u'has_metadata': u'T',1274                                               u'is_directory': u'F'},1275                                     'STATE_OUT': {u'changed': u'*',1276                                                   u'has_metadata': u'*',1277                                                   u'is_directory': u'*'}},1278                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',1279                                     'ACTION_FUNC': u'commit_upload',1280                                     'COMMENTS': u'',1281                                     'PARAMETERS': {u'hash_eq_local_hash': u'F',1282                                                    u'hash_eq_server_hash': u'F',1283                                                    u'not_authorized': u'NA',1284                                                    u'not_available': u'NA'},1285                                     'STATE': {u'changed': u'NONE',1286                                               u'has_metadata': u'T',1287                                               u'is_directory': u'F'},1288                                     'STATE_OUT': {u'changed': u'LOCAL',1289                                                   u'has_metadata': u'=',1290                                                   u'is_directory': u'='}},1291                                    {'ACTION': u'NA',1292                                     'ACTION_FUNC': u'',1293                                     'COMMENTS': u'',1294                                     'PARAMETERS': {u'hash_eq_local_hash': u'T',1295                                                    u'hash_eq_server_hash': u'T',1296                                                    u'not_authorized': u'NA',1297                                                    u'not_available': u'NA'},1298                                     'STATE': {u'changed': u'SERVER',1299                                               u'has_metadata': u'T',1300                                               u'is_directory': u'F'},1301                                     'STATE_OUT': {u'changed': u'*',1302                                                   u'has_metadata': u'*',1303                                                   u'is_directory': u'*'}},1304                                    {'ACTION': u'NA',1305                                     'ACTION_FUNC': u'',1306                                     'COMMENTS': u'',1307                                     'PARAMETERS': {u'hash_eq_local_hash': u'T',1308                                                    u'hash_eq_server_hash': u'T',1309                                                    u'not_authorized': u'NA',1310                                                    u'not_available': u'NA'},1311                                     'STATE': {u'changed': u'LOCAL',1312                                               u'has_metadata': u'T',1313                                               u'is_directory': u'F'},1314                                     'STATE_OUT': {u'changed': u'*',1315                                                   u'has_metadata': u'*',1316                                                   u'is_directory': u'*'}},1317                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',1318                                     'ACTION_FUNC': u'commit_upload',1319                                     'COMMENTS': u'',1320                                     'PARAMETERS': {u'hash_eq_local_hash': u'F',1321                                                    u'hash_eq_server_hash': u'T',1322                                                    u'not_authorized': u'NA',1323                                                    u'not_available': u'NA'},1324                                     'STATE': {u'changed': u'SERVER',1325                                               u'has_metadata': u'T',1326                                               u'is_directory': u'F'},1327                                     'STATE_OUT': {u'changed': u'=',1328                                                   u'has_metadata': u'=',1329                                                   u'is_directory': u'='}},1330                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',1331                                     'ACTION_FUNC': u'reput_file_from_ok',1332                                     'COMMENTS': u'we finished a download, but this download should have been cancelled. So the real upload will conflict. Reschedule upload.',1333                                     'PARAMETERS': {u'hash_eq_local_hash': u'F',1334                                                    u'hash_eq_server_hash': u'T',1335                                                    u'not_authorized': u'NA',1336                                                    u'not_available': u'NA'},1337                                     'STATE': {u'changed': u'LOCAL',1338                                               u'has_metadata': u'T',1339                                               u'is_directory': u'F'},1340                                     'STATE_OUT': {u'changed': u'NONE',1341                                                   u'has_metadata': u'=',1342                                                   u'is_directory': u'='}},1343                                    {'ACTION': u'cancel download; commit upload',1344                                     'ACTION_FUNC': u'cancel_and_commit',1345                                     'COMMENTS': u'we couldnt cancel an upload and we overwrote what was on the server',1346                                     'PARAMETERS': {u'hash_eq_local_hash': u'T',1347                                                    u'hash_eq_server_hash': u'F',1348                                                    u'not_authorized': u'NA',1349                                                    u'not_available': u'NA'},1350                                     'STATE': {u'changed': u'SERVER',1351                                               u'has_metadata': u'T',1352                                               u'is_directory': u'F'},1353                                     'STATE_OUT': {u'changed': u'NONE',1354                                                   u'has_metadata': u'T',1355                                                   u'is_directory': u'='}},1356                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',1357                                     'ACTION_FUNC': u'commit_upload',1358                                     'COMMENTS': u'',1359                                     'PARAMETERS': {u'hash_eq_local_hash': u'T',1360                                                    u'hash_eq_server_hash': u'F',1361                                                    u'not_authorized': u'NA',1362                                                    u'not_available': u'NA'},1363                                     'STATE': {u'changed': u'LOCAL',1364                                               u'has_metadata': u'T',1365                                               u'is_directory': u'F'},1366                                     'STATE_OUT': {u'changed': u'NONE',1367                                                   u'has_metadata': u'=',1368                                                   u'is_directory': u'='}},1369                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',1370                                     'ACTION_FUNC': u'commit_upload',1371                                     'COMMENTS': u'',1372                                     'PARAMETERS': {u'hash_eq_local_hash': u'F',1373                                                    u'hash_eq_server_hash': u'F',1374                                                    u'not_authorized': u'NA',1375                                                    u'not_available': u'NA'},1376                                     'STATE': {u'changed': u'SERVER',1377                                               u'has_metadata': u'T',1378                                               u'is_directory': u'F'},1379                                     'STATE_OUT': {u'changed': u'SERVER',1380                                                   u'has_metadata': u'=',1381                                                   u'is_directory': u'='}},1382                                    {'ACTION': u'md.upload_finished(mdid, server_hash=hash)',1383                                     'ACTION_FUNC': u'reput_file_from_ok',1384                                     'COMMENTS': u'',1385                                     'PARAMETERS': {u'hash_eq_local_hash': u'F',1386                                                    u'hash_eq_server_hash': u'F',1387                                                    u'not_authorized': u'NA',1388                                                    u'not_available': u'NA'},1389                                     'STATE': {u'changed': u'LOCAL',1390                                               u'has_metadata': u'T',1391                                               u'is_directory': u'F'},1392                                     'STATE_OUT': {u'changed': u'NONE',1393                                                   u'has_metadata': u'=',1394                                                   u'is_directory': u'='}},1395                                    {'ACTION': u'DESPAIR',1396                                     'ACTION_FUNC': u'DESPAIR',1397                                     'COMMENTS': u'we never try to upload directories',1398                                     'PARAMETERS': {u'hash_eq_local_hash': u'*',1399                                                    u'hash_eq_server_hash': u'*',1400                                                    u'not_authorized': u'NA',1401                                                    u'not_available': u'NA'},1402                                     'STATE': {u'changed': u'*',1403                                               u'has_metadata': u'T',1404                                               u'is_directory': u'T'},1405                                     'STATE_OUT': {u'changed': u'*',1406                                                   u'has_metadata': u'*',1407                                                   u'is_directory': u'*'}}],1408            u'FS_DIR_CREATE': [{'ACTION': u'mdid = md.create(path=path)\naq.makefile(mdid)',1409                                'ACTION_FUNC': u'new_local_dir',1410                                'COMMENTS': u'',1411                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1412                                               u'hash_eq_server_hash': u'NA',1413                                               u'not_authorized': u'NA',1414                                               u'not_available': u'NA'},1415                                'STATE': {u'changed': u'NA',1416                                          u'has_metadata': u'F',1417                                          u'is_directory': u'NA'},1418                                'STATE_OUT': {u'changed': u'NONE',1419                                              u'has_metadata': u'T',1420                                              u'is_directory': u'T'}},1421                               {'ACTION': u'pass',1422                                'ACTION_FUNC': u'nothing',1423                                'COMMENTS': u'duplicate IN_DIRECTORY_NEW',1424                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1425                                               u'hash_eq_server_hash': u'NA',1426                                               u'not_authorized': u'NA',1427                                               u'not_available': u'NA'},1428                                'STATE': {u'changed': u'SERVER',1429                                          u'has_metadata': u'T',1430                                          u'is_directory': u'*'},1431                                'STATE_OUT': {u'changed': u'=',1432                                              u'has_metadata': u'=',1433                                              u'is_directory': u'='}},1434                               {'ACTION': u'pass',1435                                'ACTION_FUNC': u'nothing',1436                                'COMMENTS': u'duplicate IN_DIRECTORY_NEW',1437                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1438                                               u'hash_eq_server_hash': u'NA',1439                                               u'not_authorized': u'NA',1440                                               u'not_available': u'NA'},1441                                'STATE': {u'changed': u'NONE',1442                                          u'has_metadata': u'T',1443                                          u'is_directory': u'F'},1444                                'STATE_OUT': {u'changed': u'NONE',1445                                              u'has_metadata': u'T',1446                                              u'is_directory': u'F'}},1447                               {'ACTION': u'DESPAIR',1448                                'ACTION_FUNC': u'DESPAIR',1449                                'COMMENTS': u'...?',1450                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1451                                               u'hash_eq_server_hash': u'NA',1452                                               u'not_authorized': u'NA',1453                                               u'not_available': u'NA'},1454                                'STATE': {u'changed': u'LOCAL',1455                                          u'has_metadata': u'T',1456                                          u'is_directory': u'F'},1457                                'STATE_OUT': {u'changed': u'*',1458                                              u'has_metadata': u'*',1459                                              u'is_directory': u'*'}},1460                               {'ACTION': u'pass',1461                                'ACTION_FUNC': u'nothing',1462                                'COMMENTS': u'duplicate IN_DIRECTORY_NEW',1463                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1464                                               u'hash_eq_server_hash': u'NA',1465                                               u'not_authorized': u'NA',1466                                               u'not_available': u'NA'},1467                                'STATE': {u'changed': u'NONE',1468                                          u'has_metadata': u'T',1469                                          u'is_directory': u'T'},1470                                'STATE_OUT': {u'changed': u'NONE',1471                                              u'has_metadata': u'T',1472                                              u'is_directory': u'T'}}],1473            u'FS_DIR_DELETE': [{'ACTION': u'pass',1474                                'ACTION_FUNC': u'nothing',1475                                'COMMENTS': u'this is the result of a delete we did',1476                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1477                                               u'hash_eq_server_hash': u'NA',1478                                               u'not_authorized': u'NA',1479                                               u'not_available': u'NA'},1480                                'STATE': {u'changed': u'NA',1481                                          u'has_metadata': u'F',1482                                          u'is_directory': u'NA'},1483                                'STATE_OUT': {u'changed': u'=',1484                                              u'has_metadata': u'=',1485                                              u'is_directory': u'='}},1486                               {'ACTION': u'aq.delete_file(uuid, type=type); md.remove(uuid)',1487                                'ACTION_FUNC': u'delete_on_server',1488                                '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. ',1489                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1490                                               u'hash_eq_server_hash': u'NA',1491                                               u'not_authorized': u'NA',1492                                               u'not_available': u'NA'},1493                                'STATE': {u'changed': u'NONE',1494                                          u'has_metadata': u'T',1495                                          u'is_directory': u'*'},1496                                'STATE_OUT': {u'changed': u'NA',1497                                              u'has_metadata': u'F',1498                                              u'is_directory': u'NA'}},1499                               {'ACTION': u'',1500                                'ACTION_FUNC': u'DESPAIR',1501                                'COMMENTS': u'delete of file when it should be a dir is bad',1502                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1503                                               u'hash_eq_server_hash': u'NA',1504                                               u'not_authorized': u'NA',1505                                               u'not_available': u'NA'},1506                                'STATE': {u'changed': u'LOCAL',1507                                          u'has_metadata': u'T',1508                                          u'is_directory': u'F'},1509                                'STATE_OUT': {u'changed': u'NA',1510                                              u'has_metadata': u'F',1511                                              u'is_directory': u'NA'}},1512                               {'ACTION': u'',1513                                'ACTION_FUNC': u'DESPAIR',1514                                'COMMENTS': u'delete of file when it should be a dir is bad',1515                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1516                                               u'hash_eq_server_hash': u'NA',1517                                               u'not_authorized': u'NA',1518                                               u'not_available': u'NA'},1519                                'STATE': {u'changed': u'SERVER',1520                                          u'has_metadata': u'T',1521                                          u'is_directory': u'F'},1522                                'STATE_OUT': {u'changed': u'NA',1523                                              u'has_metadata': u'F',1524                                              u'is_directory': u'NA'}},1525                               {'ACTION': u'md.cancel_download(md); md.remove(uuid)',1526                                'ACTION_FUNC': u'deleted_dir_while_downloading',1527                                'COMMENTS': u'',1528                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1529                                               u'hash_eq_server_hash': u'NA',1530                                               u'not_authorized': u'NA',1531                                               u'not_available': u'NA'},1532                                'STATE': {u'changed': u'SERVER',1533                                          u'has_metadata': u'T',1534                                          u'is_directory': u'T'},1535                                'STATE_OUT': {u'changed': u'NA',1536                                              u'has_metadata': u'F',1537                                              u'is_directory': u'NA'}}],1538            u'FS_DIR_MOVE': [{'ACTION': u'',1539                              'ACTION_FUNC': u'nothing',1540                              'COMMENTS': u'side efect of local move',1541                              'PARAMETERS': {u'hash_eq_local_hash': u'NA',1542                                             u'hash_eq_server_hash': u'NA',1543                                             u'not_authorized': u'NA',1544                                             u'not_available': u'NA'},1545                              'STATE': {u'changed': u'NA',1546                                        u'has_metadata': u'F',1547                                        u'is_directory': u'NA'},1548                              'STATE_OUT': {u'changed': u'NA',1549                                            u'has_metadata': u'F',1550                                            u'is_directory': u'NA'}},1551                             {'ACTION': u'aq.move()',1552                              'ACTION_FUNC': u'client_moved',1553                              'COMMENTS': u'vanilla case',1554                              'PARAMETERS': {u'hash_eq_local_hash': u'NA',1555                                             u'hash_eq_server_hash': u'NA',1556                                             u'not_authorized': u'NA',1557                                             u'not_available': u'NA'},1558                              'STATE': {u'changed': u'NONE',1559                                        u'has_metadata': u'T',1560                                        u'is_directory': u'*'},1561                              'STATE_OUT': {u'changed': u'=',1562                                            u'has_metadata': u'T',1563                                            u'is_directory': u'='}},1564                             {'ACTION': u'cancel upload; move; restart upload',1565                              'ACTION_FUNC': u'moved_dirty_local',1566                              'COMMENTS': u'we got a move while we were downloading it',1567                              'PARAMETERS': {u'hash_eq_local_hash': u'NA',1568                                             u'hash_eq_server_hash': u'NA',1569                                             u'not_authorized': u'NA',1570                                             u'not_available': u'NA'},1571                              'STATE': {u'changed': u'LOCAL',1572                                        u'has_metadata': u'T',1573                                        u'is_directory': u'F'},1574                              'STATE_OUT': {u'changed': u'NONE',1575                                            u'has_metadata': u'T',1576                                            u'is_directory': u'F'}},1577                             {'ACTION': u'cancel_download; move; query',1578                              'ACTION_FUNC': u'moved_dirty_server',1579                              'COMMENTS': u'we got a move while we were downloading it',1580                              'PARAMETERS': {u'hash_eq_local_hash': u'NA',1581                                             u'hash_eq_server_hash': u'NA',1582                                             u'not_authorized': u'NA',1583                                             u'not_available': u'NA'},1584                              'STATE': {u'changed': u'SERVER',1585                                        u'has_metadata': u'T',1586                                        u'is_directory': u'*'},1587                              'STATE_OUT': {u'changed': u'NONE',1588                                            u'has_metadata': u'T',1589                                            u'is_directory': u'='}}],1590            u'FS_FILE_CLOSE_WRITE': [{'ACTION': u'pass',1591                                      'ACTION_FUNC': u'nothing',1592                                      'COMMENTS': u'changes from a file that no longer exists',1593                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',1594                                                     u'hash_eq_server_hash': u'NA',1595                                                     u'not_authorized': u'NA',1596                                                     u'not_available': u'NA'},1597                                      'STATE': {u'changed': u'NA',1598                                                u'has_metadata': u'F',1599                                                u'is_directory': u'*'},1600                                      'STATE_OUT': {u'changed': u'=',1601                                                    u'has_metadata': u'=',1602                                                    u'is_directory': u'='}},1603                                     {'ACTION': u'DESPAIR',1604                                      'ACTION_FUNC': u'DESPAIR',1605                                      'COMMENTS': u'event cant happen in directories',1606                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',1607                                                     u'hash_eq_server_hash': u'NA',1608                                                     u'not_authorized': u'NA',1609                                                     u'not_available': u'NA'},1610                                      'STATE': {u'changed': u'*',1611                                                u'has_metadata': u'T',1612                                                u'is_directory': u'T'},1613                                      'STATE_OUT': {u'changed': u'*',1614                                                    u'has_metadata': u'*',1615                                                    u'is_directory': u'*'}},1616                                     {'ACTION': u'hq.insert(path)',1617                                      'ACTION_FUNC': u'calculate_hash',1618                                      'COMMENTS': u'',1619                                      'PARAMETERS': {u'hash_eq_local_hash': u'NA',1620                                                     u'hash_eq_server_hash': u'NA',1621                                                     u'not_authorized': u'NA',1622                                                     u'not_available': u'NA'},1623                                      'STATE': {u'changed': u'*',1624                                                u'has_metadata': u'T',1625                                                u'is_directory': u'F'},1626                                      'STATE_OUT': {u'changed': u'=',1627                                                    u'has_metadata': u'=',1628                                                    u'is_directory': u'='}}],1629            u'FS_FILE_CREATE': [{'ACTION': u'mdid = md.create(path=path)\naq.makefile(mdid)',1630                                 'ACTION_FUNC': u'new_local_file',1631                                 'COMMENTS': u'',1632                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',1633                                                u'hash_eq_server_hash': u'NA',1634                                                u'not_authorized': u'NA',1635                                                u'not_available': u'NA'},1636                                 'STATE': {u'changed': u'NA',1637                                           u'has_metadata': u'F',1638                                           u'is_directory': u'NA'},1639                                 'STATE_OUT': {u'changed': u'NONE',1640                                               u'has_metadata': u'T',1641                                               u'is_directory': u'F'}},1642                                {'ACTION': u'',1643                                 'ACTION_FUNC': u'nothing',1644                                 'COMMENTS': u'ignore this. We created the file.',1645                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',1646                                                u'hash_eq_server_hash': u'NA',1647                                                u'not_authorized': u'NA',1648                                                u'not_available': u'NA'},1649                                 'STATE': {u'changed': u'SERVER',1650                                           u'has_metadata': u'T',1651                                           u'is_directory': u'*'},1652                                 'STATE_OUT': {u'changed': u'=',1653                                               u'has_metadata': u'=',1654                                               u'is_directory': u'='}},1655                                {'ACTION': u'pass',1656                                 'ACTION_FUNC': u'nothing',1657                                 'COMMENTS': u"As we're ignoring some files, we are in the situation where some editors move the file to something we ignore, and then create the file again, so we receive the FS_FILE_CREATE for a node that we actually have",1658                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',1659                                                u'hash_eq_server_hash': u'NA',1660                                                u'not_authorized': u'NA',1661                                                u'not_available': u'NA'},1662                                 'STATE': {u'changed': u'NONE',1663                                           u'has_metadata': u'T',1664                                           u'is_directory': u'F'},1665                                 'STATE_OUT': {u'changed': u'=',1666                                               u'has_metadata': u'=',1667                                               u'is_directory': u'='}},1668                                {'ACTION': u'pass',1669                                 'ACTION_FUNC': u'nothing',1670                                 'COMMENTS': u"Same as before, but we're uploading that node we already have.",1671                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',1672                                                u'hash_eq_server_hash': u'NA',1673                                                u'not_authorized': u'NA',1674                                                u'not_available': u'NA'},1675                                 'STATE': {u'changed': u'LOCAL',1676                                           u'has_metadata': u'T',1677                                           u'is_directory': u'F'},1678                                 'STATE_OUT': {u'changed': u'=',1679                                               u'has_metadata': u'=',1680                                               u'is_directory': u'='}},1681                                {'ACTION': u'log warning',1682                                 'ACTION_FUNC': u'nothing',1683                                 'COMMENTS': u'duplicate IN_FILE_NEW',1684                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',1685                                                u'hash_eq_server_hash': u'NA',1686                                                u'not_authorized': u'NA',1687                                                u'not_available': u'NA'},1688                                 'STATE': {u'changed': u'NONE',1689                                           u'has_metadata': u'T',1690                                           u'is_directory': u'T'},1691                                 'STATE_OUT': {u'changed': u'NONE',1692                                               u'has_metadata': u'T',1693                                               u'is_directory': u'F'}}],1694            u'FS_FILE_DELETE': [{'ACTION': u'pass',1695                                 'ACTION_FUNC': u'nothing',1696                                 'COMMENTS': u'this is the result of a delete we did',1697                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',1698                                                u'hash_eq_server_hash': u'NA',1699                                                u'not_authorized': u'NA',1700                                                u'not_available': u'NA'},1701                                 'STATE': {u'changed': u'NA',1702                                           u'has_metadata': u'F',1703                                           u'is_directory': u'NA'},1704                                 'STATE_OUT': {u'changed': u'=',1705                                               u'has_metadata': u'=',1706                                               u'is_directory': u'='}},1707                                {'ACTION': u'aq.delete_file(uuid, type=type); md.remove(uuid)',1708                                 'ACTION_FUNC': u'delete_on_server',1709                                 '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. ',1710                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',1711                                                u'hash_eq_server_hash': u'NA',1712                                                u'not_authorized': u'NA',1713                                                u'not_available': u'NA'},1714                                 'STATE': {u'changed': u'NONE',1715                                           u'has_metadata': u'T',1716                                           u'is_directory': u'*'},1717                                 'STATE_OUT': {u'changed': u'NA',1718                                               u'has_metadata': u'F',1719                                               u'is_directory': u'NA'}},1720                                {'ACTION': u'aq.cancel_upload(uuid); aq.delete_file(uuid); md.remove(uuid)',1721                                 'ACTION_FUNC': u'cancel_upload_and_delete_on_server',1722                                 'COMMENTS': u'',1723                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',1724                                                u'hash_eq_server_hash': u'NA',1725                                                u'not_authorized': u'NA',1726                                                u'not_available': u'NA'},1727                                 'STATE': {u'changed': u'LOCAL',1728                                           u'has_metadata': u'T',1729                                           u'is_directory': u'F'},1730                                 'STATE_OUT': {u'changed': u'NA',1731                                               u'has_metadata': u'F',1732                                               u'is_directory': u'NA'}},1733                                {'ACTION': u'aq.cancel_download(uuid); aq.delete_file(uuid)\n md.remove(uuid)',1734                                 'ACTION_FUNC': u'cancel_download_and_delete_on_server',1735                                 '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',1736                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',1737                                                u'hash_eq_server_hash': u'NA',1738                                                u'not_authorized': u'NA',1739                                                u'not_available': u'NA'},1740                                 'STATE': {u'changed': u'SERVER',1741                                           u'has_metadata': u'T',1742                                           u'is_directory': u'F'},1743                                 'STATE_OUT': {u'changed': u'NA',1744                                               u'has_metadata': u'F',1745                                               u'is_directory': u'NA'}},1746                                {'ACTION': u'',1747                                 'ACTION_FUNC': u'DESPAIR',1748                                 'COMMENTS': u'',1749                                 'PARAMETERS': {u'hash_eq_local_hash': u'NA',1750                                                u'hash_eq_server_hash': u'NA',1751                                                u'not_authorized': u'NA',1752                                                u'not_available': u'NA'},1753                                 'STATE': {u'changed': u'SERVER',1754                                           u'has_metadata': u'T',1755                                           u'is_directory': u'T'},1756                                 'STATE_OUT': {u'changed': u'NA',1757                                               u'has_metadata': u'F',1758                                               u'is_directory': u'NA'}}],1759            u'FS_FILE_MOVE': [{'ACTION': u'',1760                               'ACTION_FUNC': u'nothing',1761                               'COMMENTS': u'side efect of local move',1762                               'PARAMETERS': {u'hash_eq_local_hash': u'NA',1763                                              u'hash_eq_server_hash': u'NA',1764                                              u'not_authorized': u'NA',1765                                              u'not_available': u'NA'},1766                               'STATE': {u'changed': u'NA',1767                                         u'has_metadata': u'F',1768                                         u'is_directory': u'NA'},1769                               'STATE_OUT': {u'changed': u'NA',1770                                             u'has_metadata': u'F',1771                                             u'is_directory': u'NA'}},1772                              {'ACTION': u'aq.move()',1773                               'ACTION_FUNC': u'client_moved',1774                               'COMMENTS': u'vanilla case',1775                               'PARAMETERS': {u'hash_eq_local_hash': u'NA',1776                                              u'hash_eq_server_hash': u'NA',1777                                              u'not_authorized': u'NA',1778                                              u'not_available': u'NA'},1779                               'STATE': {u'changed': u'NONE',1780                                         u'has_metadata': u'T',1781                                         u'is_directory': u'*'},1782                               'STATE_OUT': {u'changed': u'=',1783                                             u'has_metadata': u'T',1784                                             u'is_directory': u'='}},1785                              {'ACTION': u'cancel upload; move; restart upload',1786                               'ACTION_FUNC': u'moved_dirty_local',1787                               'COMMENTS': u'we got a move while we were downloading it',1788                               'PARAMETERS': {u'hash_eq_local_hash': u'NA',1789                                              u'hash_eq_server_hash': u'NA',1790                                              u'not_authorized': u'NA',1791                                              u'not_available': u'NA'},1792                               'STATE': {u'changed': u'LOCAL',1793                                         u'has_metadata': u'T',1794                                         u'is_directory': u'F'},1795                               'STATE_OUT': {u'changed': u'NONE',1796                                             u'has_metadata': u'T',1797                                             u'is_directory': u'F'}},1798                              {'ACTION': u'cancel_download; move; query',1799                               'ACTION_FUNC': u'moved_dirty_server',1800                               'COMMENTS': u'we got a move while we were downloading it',1801                               'PARAMETERS': {u'hash_eq_local_hash': u'NA',1802                                              u'hash_eq_server_hash': u'NA',1803                                              u'not_authorized': u'NA',1804                                              u'not_available': u'NA'},1805                               'STATE': {u'changed': u'SERVER',1806                                         u'has_metadata': u'T',1807                                         u'is_directory': u'*'},1808                               'STATE_OUT': {u'changed': u'NONE',1809                                             u'has_metadata': u'T',1810                                             u'is_directory': u'='}}],1811            u'HQ_HASH_ERROR': [{'ACTION': u'',1812                                'ACTION_FUNC': u'nothing',1813                                'COMMENTS': u'it was deleted at some point',1814                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1815                                               u'hash_eq_server_hash': u'NA',1816                                               u'not_authorized': u'NA',1817                                               u'not_available': u'NA'},1818                                'STATE': {u'changed': u'NA',1819                                          u'has_metadata': u'F',1820                                          u'is_directory': u'NA'},1821                                'STATE_OUT': {u'changed': u'NA',1822                                              u'has_metadata': u'F',1823                                              u'is_directory': u'NA'}},1824                               {'ACTION': u'DESPAIR',1825                                'ACTION_FUNC': u'DESPAIR',1826                                'COMMENTS': u'we should never be hashing a directory',1827                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1828                                               u'hash_eq_server_hash': u'NA',1829                                               u'not_authorized': u'NA',1830                                               u'not_available': u'NA'},1831                                'STATE': {u'changed': u'*',1832                                          u'has_metadata': u'T',1833                                          u'is_directory': u'T'},1834                                'STATE_OUT': {u'changed': u'*',1835                                              u'has_metadata': u'*',1836                                              u'is_directory': u'*'}},1837                               {'ACTION': u'hq.insert(path)',1838                                'ACTION_FUNC': u'calculate_hash',1839                                'COMMENTS': u'we need to re send the hash to the HQ',1840                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',1841                                               u'hash_eq_server_hash': u'NA',1842                                               u'not_authorized': u'NA',1843                                               u'not_available': u'NA'},1844                                'STATE': {u'changed': u'*',1845                                          u'has_metadata': u'T',1846                                          u'is_directory': u'F'},1847                                'STATE_OUT': {u'changed': u'=',1848                                              u'has_metadata': u'=',1849                                              u'is_directory': u'='}}],1850            u'HQ_HASH_NEW': [{'ACTION': u'NA',1851                              'ACTION_FUNC': u'',1852                              'COMMENTS': u'',1853                              'PARAMETERS': {u'hash_eq_local_hash': u'*',1854                                             u'hash_eq_server_hash': u'NA',1855                                             u'not_authorized': u'NA',1856                                             u'not_available': u'NA'},1857                              'STATE': {u'changed': u'*',1858                                        u'has_metadata': u'T',1859                                        u'is_directory': u'*'},1860                              'STATE_OUT': {u'changed': u'=',1861                                            u'has_metadata': u'=',1862                                            u'is_directory': u'='}},1863                             {'ACTION': u'NA',1864                              'ACTION_FUNC': u'',1865                              'COMMENTS': u'',1866                              'PARAMETERS': {u'hash_eq_local_hash': u'NA',1867                                             u'hash_eq_server_hash': u'*',1868                                             u'not_authorized': u'NA',1869                                             u'not_available': u'NA'},1870                              'STATE': {u'changed': u'*',1871                                        u'has_metadata': u'T',1872                                        u'is_directory': u'*'},1873                              'STATE_OUT': {u'changed': u'=',1874                                            u'has_metadata': u'=',1875                                            u'is_directory': u'='}},1876                             {'ACTION': u'md.set(mdid, stat=stat)',1877                              'ACTION_FUNC': u'save_stat',1878                              'COMMENTS': u'hash == local_hash == server_hash; nothing changed but the file was \u201ctouched\u201d',1879                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',1880                                             u'hash_eq_server_hash': u'T',1881                                             u'not_authorized': u'NA',1882                                             u'not_available': u'NA'},1883                              'STATE': {u'changed': u'NONE',1884                                        u'has_metadata': u'T',1885                                        u'is_directory': u'F'},1886                              'STATE_OUT': {u'changed': u'=',1887                                            u'has_metadata': u'=',1888                                            u'is_directory': u'='}},1889                             {'ACTION': u'',1890                              'ACTION_FUNC': u'reput_file',1891                              'COMMENTS': u'just to be on the safe side, we try to put the file again.',1892                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',1893                                             u'hash_eq_server_hash': u'T',1894                                             u'not_authorized': u'NA',1895                                             u'not_available': u'NA'},1896                              'STATE': {u'changed': u'LOCAL',1897                                        u'has_metadata': u'T',1898                                        u'is_directory': u'F'},1899                              'STATE_OUT': {u'changed': u'LOCAL',1900                                            u'has_metadata': u'=',1901                                            u'is_directory': u'='}},1902                             {'ACTION': u'md.set(mdid, local_hash=hash)\naq.putfile(*mdid)',1903                              'ACTION_FUNC': u'put_file',1904                              'COMMENTS': u'plain \u201cuser modified the file on this machine\u201d case',1905                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',1906                                             u'hash_eq_server_hash': u'F',1907                                             u'not_authorized': u'NA',1908                                             u'not_available': u'NA'},1909                              'STATE': {u'changed': u'NONE',1910                                        u'has_metadata': u'T',1911                                        u'is_directory': u'F'},1912                              'STATE_OUT': {u'changed': u'LOCAL',1913                                            u'has_metadata': u'=',1914                                            u'is_directory': u'='}},1915                             {'ACTION': u'',1916                              'ACTION_FUNC': u'nothing',1917                              'COMMENTS': u'we dont send directories to hq. This is old. Ignore.',1918                              'PARAMETERS': {u'hash_eq_local_hash': u'F',1919                                             u'hash_eq_server_hash': u'F',1920                                             u'not_authorized': u'NA',1921                                             u'not_available': u'NA'},1922                              'STATE': {u'changed': u'NONE',1923                                        u'has_metadata': u'T',1924                                        u'is_directory': u'T'},1925                              'STATE_OUT': {u'changed': u'SERVER',1926                                            u'has_metadata': u'=',1927                                            u'is_directory': u'='}},1928                             {'ACTION': u'NA',1929                              'ACTION_FUNC': u'nothing',1930                              'COMMENTS': u'',1931                              'PARAMETERS': {u'hash_eq_local_hash': u'T',1932                                             u'hash_eq_server_hash': u'F',1933                                             u'not_authorized': u'NA',1934                                             u'not_available': u'NA'},1935                              'STATE': {u'changed': u'NONE',1936                                        u'has_metadata': u'T',1937                                        u'is_directory': u'T'},1938                              'STATE_OUT': {u'changed': u'*',1939                                            u'has_metadata': u'*',1940                                            u'is_directory': u'*'}},1941                             {'ACTION': u'pass',1942                              'ACTION_FUNC': u'nothing',1943                              'COMMENTS': u'the directories are the same',1944                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',1945                                             u'hash_eq_server_hash': u'T',1946                                             u'not_authorized': u'NA',1947                                             u'not_available': u'NA'},1948                              'STATE': {u'changed': u'NONE',1949                                        u'has_metadata': u'T',1950                                        u'is_directory': u'T'},1951                              'STATE_OUT': {u'changed': u'=',1952                                            u'has_metadata': u'=',1953                                            u'is_directory': u'='}},1954                             {'ACTION': u'md.set(mdid, local_hash=hash)\naq.putfile(*mdid)',1955                              'ACTION_FUNC': u'reput_file',1956                              'COMMENTS': u'another upload is in progress',1957                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',1958                                             u'hash_eq_server_hash': u'F',1959                                             u'not_authorized': u'NA',1960                                             u'not_available': u'NA'},1961                              'STATE': {u'changed': u'LOCAL',1962                                        u'has_metadata': u'T',1963                                        u'is_directory': u'F'},1964                              'STATE_OUT': {u'changed': u'LOCAL',1965                                            u'has_metadata': u'=',1966                                            u'is_directory': u'='}},1967                             {'ACTION': u'md.set(mdid, local_hash=hash)\naq.cancel_download(mdid)',1968                              'ACTION_FUNC': u'converges_to_server',1969                              'COMMENTS': u'local file already has server changes that are being downloaded',1970                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',1971                                             u'hash_eq_server_hash': u'T',1972                                             u'not_authorized': u'NA',1973                                             u'not_available': u'NA'},1974                              'STATE': {u'changed': u'SERVER',1975                                        u'has_metadata': u'T',1976                                        u'is_directory': u'F'},1977                              'STATE_OUT': {u'changed': u'NONE',1978                                            u'has_metadata': u'=',1979                                            u'is_directory': u'='}},1980                             {'ACTION': u'CONFLICT',1981                              'ACTION_FUNC': u'file_conflict',1982                              'COMMENTS': u'local file was modified by the user while download of next version was in progress',1983                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',1984                                             u'hash_eq_server_hash': u'F',1985                                             u'not_authorized': u'NA',1986                                             u'not_available': u'NA'},1987                              'STATE': {u'changed': u'SERVER',1988                                        u'has_metadata': u'T',1989                                        u'is_directory': u'F'},1990                              'STATE_OUT': {u'changed': u'SERVER',1991                                            u'has_metadata': u'T',1992                                            u'is_directory': u'='}},1993                             {'ACTION': u'',1994                              'ACTION_FUNC': u'nothing',1995                              'COMMENTS': u'we dont send directories to hq. This is old. Ignore.',1996                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',1997                                             u'hash_eq_server_hash': u'T',1998                                             u'not_authorized': u'NA',1999                                             u'not_available': u'NA'},2000                              'STATE': {u'changed': u'SERVER',2001                                        u'has_metadata': u'T',2002                                        u'is_directory': u'T'},2003                              'STATE_OUT': {u'changed': u'NONE',2004                                            u'has_metadata': u'=',2005                                            u'is_directory': u'='}},2006                             {'ACTION': u'',2007                              'ACTION_FUNC': u'nothing',2008                              'COMMENTS': u'we dont send directories to hq. This is old. Ignore.',2009                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',2010                                             u'hash_eq_server_hash': u'F',2011                                             u'not_authorized': u'NA',2012                                             u'not_available': u'NA'},2013                              'STATE': {u'changed': u'SERVER',2014                                        u'has_metadata': u'T',2015                                        u'is_directory': u'T'},2016                              'STATE_OUT': {u'changed': u'=',2017                                            u'has_metadata': u'=',2018                                            u'is_directory': u'='}},2019                             {'ACTION': u'pass',2020                              'ACTION_FUNC': u'nothing',2021                              'COMMENTS': u'',2022                              'PARAMETERS': {u'hash_eq_local_hash': u'*',2023                                             u'hash_eq_server_hash': u'*',2024                                             u'not_authorized': u'NA',2025                                             u'not_available': u'NA'},2026                              'STATE': {u'changed': u'*',2027                                        u'has_metadata': u'F',2028                                        u'is_directory': u'*'},2029                              'STATE_OUT': {u'changed': u'=',2030                                            u'has_metadata': u'=',2031                                            u'is_directory': u'='}}],2032            u'LR_SCAN_ERROR': [{'ACTION': u'',2033                                'ACTION_FUNC': u'nothing',2034                                'COMMENTS': u'it was deleted at some point',2035                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',2036                                               u'hash_eq_server_hash': u'NA',2037                                               u'not_authorized': u'NA',2038                                               u'not_available': u'NA'},2039                                'STATE': {u'changed': u'NA',2040                                          u'has_metadata': u'F',2041                                          u'is_directory': u'NA'},2042                                'STATE_OUT': {u'changed': u'NA',2043                                              u'has_metadata': u'F',2044                                              u'is_directory': u'NA'}},2045                               {'ACTION': u'DESPAIR',2046                                'ACTION_FUNC': u'DESPAIR',2047                                'COMMENTS': u'we should never be local-scanning a file',2048                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',2049                                               u'hash_eq_server_hash': u'NA',2050                                               u'not_authorized': u'NA',2051                                               u'not_available': u'NA'},2052                                'STATE': {u'changed': u'*',2053                                          u'has_metadata': u'T',2054                                          u'is_directory': u'F'},2055                                'STATE_OUT': {u'changed': u'*',2056                                              u'has_metadata': u'*',2057                                              u'is_directory': u'*'}},2058                               {'ACTION': u'RESCAN',2059                                'ACTION_FUNC': u'rescan_dir',2060                                'COMMENTS': u'we need to re start the local rescan',2061                                'PARAMETERS': {u'hash_eq_local_hash': u'NA',2062                                               u'hash_eq_server_hash': u'NA',2063                                               u'not_authorized': u'NA',2064                                               u'not_available': u'NA'},2065                                'STATE': {u'changed': u'*',2066                                          u'has_metadata': u'T',2067                                          u'is_directory': u'T'},2068                                'STATE_OUT': {u'changed': u'=',2069                                              u'has_metadata': u'=',2070                                              u'is_directory': u'='}}],2071            u'SV_DIR_NEW': [{'ACTION': u'md.create(path=path, uuid=uuid, type=type)\naq.query(uuid=uuid)',2072                             'ACTION_FUNC': u'new_dir',2073                             'COMMENTS': u'good case, we send a query to see if there are anychanges we need to merge',2074                             'PARAMETERS': {u'hash_eq_local_hash': u'NA',2075                                            u'hash_eq_server_hash': u'NA',2076                                            u'not_authorized': u'NA',2077                                            u'not_available': u'NA'},2078                             'STATE': {u'changed': u'NA',2079                                       u'has_metadata': u'F',2080                                       u'is_directory': u'NA'},2081                             'STATE_OUT': {u'changed': u'NONE',2082                                           u'has_metadata': u'T',2083                                           u'is_directory': u'T'}},2084                            {'ACTION': u'CONFLICT',2085                             'ACTION_FUNC': u'new_dir_on_server_with_local_file',2086                             'COMMENTS': u'',2087                             'PARAMETERS': {u'hash_eq_local_hash': u'NA',2088                                            u'hash_eq_server_hash': u'NA',2089                                            u'not_authorized': u'NA',2090                                            u'not_available': u'NA'},2091                             'STATE': {u'changed': u'*',2092                                       u'has_metadata': u'T',2093                                       u'is_directory': u'F'},2094                             'STATE_OUT': {u'changed': u'NONE',2095                                           u'has_metadata': u'T',2096                                           u'is_directory': u'T'}},2097                            {'ACTION': u'list the dir to get new info and converge',2098                             'ACTION_FUNC': u'new_dir_on_server_with_local_dir',2099                             'COMMENTS': u'',2100                             'PARAMETERS': {u'hash_eq_local_hash': u'NA',2101                                            u'hash_eq_server_hash': u'NA',2102                                            u'not_authorized': u'NA',2103                                            u'not_available': u'NA'},2104                             'STATE': {u'changed': u'*',2105                                       u'has_metadata': u'T',2106                                       u'is_directory': u'T'},2107                             'STATE_OUT': {u'changed': u'NONE',2108                                           u'has_metadata': u'T',2109                                           u'is_directory': u'T'}}],2110            u'SV_FILE_DELETED': [{'ACTION': u'pass',2111                                  'ACTION_FUNC': u'nothing',2112                                  'COMMENTS': u'we deleted something and the server did the same',2113                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',2114                                                 u'hash_eq_server_hash': u'NA',2115                                                 u'not_authorized': u'NA',2116                                                 u'not_available': u'NA'},2117                                  'STATE': {u'changed': u'NA',2118                                            u'has_metadata': u'F',2119                                            u'is_directory': u'NA'},2120                                  'STATE_OUT': {u'changed': u'=',2121                                                u'has_metadata': u'=',2122                                                u'is_directory': u'='}},2123                                 {'ACTION': u'md.remove(uuid)',2124                                  'ACTION_FUNC': u'delete_file',2125                                  'COMMENTS': u'',2126                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',2127                                                 u'hash_eq_server_hash': u'NA',2128                                                 u'not_authorized': u'NA',2129                                                 u'not_available': u'NA'},2130                                  'STATE': {u'changed': u'NONE',2131                                            u'has_metadata': u'T',2132                                            u'is_directory': u'*'},2133                                  'STATE_OUT': {u'changed': u'NA',2134                                                u'has_metadata': u'F',2135                                                u'is_directory': u'NA'}},2136                                 {'ACTION': u'CONFLICT; md.remove(uuid)',2137                                  'ACTION_FUNC': u'conflict_and_delete',2138                                  'COMMENTS': u'',2139                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',2140                                                 u'hash_eq_server_hash': u'NA',2141                                                 u'not_authorized': u'NA',2142                                                 u'not_available': u'NA'},2143                                  'STATE': {u'changed': u'LOCAL',2144                                            u'has_metadata': u'T',2145                                            u'is_directory': u'F'},2146                                  'STATE_OUT': {u'changed': u'NA',2147                                                u'has_metadata': u'F',2148                                                u'is_directory': u'NA'}},2149                                 {'ACTION': u'md.cancel_download(uuid); md.remove(uuid)',2150                                  'ACTION_FUNC': u'file_gone_wile_downloading',2151                                  'COMMENTS': u'we are still downloading some content we dont care about anymore',2152                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',2153                                                 u'hash_eq_server_hash': u'NA',2154                                                 u'not_authorized': u'NA',2155                                                 u'not_available': u'NA'},2156                                  'STATE': {u'changed': u'SERVER',2157                                            u'has_metadata': u'T',2158                                            u'is_directory': u'F'},2159                                  'STATE_OUT': {u'changed': u'NA',2160                                                u'has_metadata': u'F',2161                                                u'is_directory': u'NA'}},2162                                 {'ACTION': u'md.cancel_download(md); md.remove(uuid)',2163                                  'ACTION_FUNC': u'file_gone_wile_downloading',2164                                  'COMMENTS': u'we are still downloading some content we dont care about anymore',2165                                  'PARAMETERS': {u'hash_eq_local_hash': u'NA',2166                                                 u'hash_eq_server_hash': u'NA',2167                                                 u'not_authorized': u'NA',2168                                                 u'not_available': u'NA'},2169                                  'STATE': {u'changed': u'SERVER',2170                                            u'has_metadata': u'T',2171                                            u'is_directory': u'T'},2172                                  'STATE_OUT': {u'changed': u'NA',2173                                                u'has_metadata': u'F',2174                                                u'is_directory': u'NA'}}],2175            u'SV_FILE_NEW': [{'ACTION': u'md.create(path=path, uuid=uuid, type=type)\naq.query(uuid=uuid)',2176                              'ACTION_FUNC': u'new_file',2177                              'COMMENTS': u'good case, we send a query to see if there are anychanges we need to merge',2178                              'PARAMETERS': {u'hash_eq_local_hash': u'NA',2179                                             u'hash_eq_server_hash': u'NA',2180                                             u'not_authorized': u'NA',2181                                             u'not_available': u'NA'},2182                              'STATE': {u'changed': u'NA',2183                                        u'has_metadata': u'F',2184                                        u'is_directory': u'NA'},2185                              'STATE_OUT': {u'changed': u'NONE',2186                                            u'has_metadata': u'T',2187                                            u'is_directory': u'F'}},2188                             {'ACTION': u"Didn't find the node by node_id, but found it by path",2189                              'ACTION_FUNC': u'new_server_file_having_local',2190                              'COMMENTS': u'',2191                              'PARAMETERS': {u'hash_eq_local_hash': u'NA',2192                                             u'hash_eq_server_hash': u'NA',2193                                             u'not_authorized': u'NA',2194                                             u'not_available': u'NA'},2195                              'STATE': {u'changed': u'*',2196                                        u'has_metadata': u'T',2197                                        u'is_directory': u'*'},2198                              'STATE_OUT': {u'changed': u'=',2199                                            u'has_metadata': u'=',2200                                            u'is_directory': u'='}}],2201            u'SV_HASH_NEW': [{'ACTION': u'NA',2202                              'ACTION_FUNC': u'',2203                              'COMMENTS': u'',2204                              'PARAMETERS': {u'hash_eq_local_hash': u'*',2205                                             u'hash_eq_server_hash': u'NA',2206                                             u'not_authorized': u'NA',2207                                             u'not_available': u'NA'},2208                              'STATE': {u'changed': u'*',2209                                        u'has_metadata': u'T',2210                                        u'is_directory': u'*'},2211                              'STATE_OUT': {u'changed': u'=',2212                                            u'has_metadata': u'=',2213                                            u'is_directory': u'='}},2214                             {'ACTION': u'NA',2215                              'ACTION_FUNC': u'',2216                              'COMMENTS': u'',2217                              'PARAMETERS': {u'hash_eq_local_hash': u'NA',2218                                             u'hash_eq_server_hash': u'*',2219                                             u'not_authorized': u'NA',2220                                             u'not_available': u'NA'},2221                              'STATE': {u'changed': u'*',2222                                        u'has_metadata': u'T',2223                                        u'is_directory': u'*'},2224                              'STATE_OUT': {u'changed': u'=',2225                                            u'has_metadata': u'=',2226                                            u'is_directory': u'='}},2227                             {'ACTION': u'pass',2228                              'ACTION_FUNC': u'nothing',2229                              'COMMENTS': u'server side changes while trying to delete something',2230                              'PARAMETERS': {u'hash_eq_local_hash': u'*',2231                                             u'hash_eq_server_hash': u'*',2232                                             u'not_authorized': u'NA',2233                                             u'not_available': u'NA'},2234                              'STATE': {u'changed': u'NA',2235                                        u'has_metadata': u'F',2236                                        u'is_directory': u'*'},2237                              'STATE_OUT': {u'changed': u'NA',2238                                            u'has_metadata': u'=',2239                                            u'is_directory': u'='}},2240                             {'ACTION': u'pass',2241                              'ACTION_FUNC': u'nothing',2242                              'COMMENTS': u'no news is good news',2243                              'PARAMETERS': {u'hash_eq_local_hash': u'T',2244                                             u'hash_eq_server_hash': u'T',2245                                             u'not_authorized': u'NA',2246                                             u'not_available': u'NA'},2247                              'STATE': {u'changed': u'NONE',2248                                        u'has_metadata': u'T',2249                                        u'is_directory': u'F'},2250                              'STATE_OUT': {u'changed': u'=',2251                                            u'has_metadata': u'=',2252                                            u'is_directory': u'='}},2253                             {'ACTION': u'NA',2254                              'ACTION_FUNC': u'',2255                              'COMMENTS': u'NONE, T, F is a falacy (NONE implies server_hash == local_hash)',2256                              'PARAMETERS': {u'hash_eq_local_hash': u'F',2257                                             u'hash_eq_server_hash': u'T',2258                                             u'not_authorized': u'NA',2259                                             u'not_available': u'NA'},2260                              'STATE': {u'changed': u'NONE',2261                                        u'has_metadata': u'T',2262                                        u'is_directory': u'F'},2263                              'STATE_OUT': {u'changed': u'*',2264                                            u'has_metadata': u'*',2265                                            u'is_directory': u'*'}},2266                             {'ACTION': u'NA',2267                              'ACTION_FUNC': u'',2268                              'COMMENTS': u'NONE, F, T is a falacy (NONE implies server_hash == local_hash)',2269                              'PARAMETERS': {u'hash_eq_local_hash': u'T',2270                                             u'hash_eq_server_hash': u'F',2271                                             u'not_authorized': u'NA',2272                                             u'not_available': u'NA'},2273                              'STATE': {u'changed': u'NONE',2274                                        u'has_metadata': u'T',2275                                        u'is_directory': u'F'},2276                              'STATE_OUT': {u'changed': u'*',2277                                            u'has_metadata': u'*',2278                                            u'is_directory': u'*'}},2279                             {'ACTION': u'md.set(uuid, server_hash=hash)\npartial = md.create_partial(uuid)\naq.getcontent(*partial)',2280                              'ACTION_FUNC': u'get_file',2281                              'COMMENTS': u'',2282                              'PARAMETERS': {u'hash_eq_local_hash': u'F',2283                                             u'hash_eq_server_hash': u'F',2284                                             u'not_authorized': u'NA',2285                                             u'not_available': u'NA'},2286                              'STATE': {u'changed': u'NONE',2287                                        u'has_metadata': u'T',2288                                        u'is_directory': u'F'},2289                              'STATE_OUT': {u'changed': u'SERVER',2290                                            u'has_metadata': u'=',2291                                            u'is_directory': u'='}},2292                             {'ACTION': u'NA',2293                              'ACTION_FUNC': u'',2294                              'COMMENTS': u'SERVER, T, T is a impossible (SERVER implies server_hash != local_hash)',2295                              'PARAMETERS': {u'hash_eq_local_hash': u'T',2296                                             u'hash_eq_server_hash': u'T',2297                                             u'not_authorized': u'NA',2298                                             u'not_available': u'NA'},2299                              'STATE': {u'changed': u'SERVER',2300                                        u'has_metadata': u'T',2301                                        u'is_directory': u'F'},2302                              'STATE_OUT': {u'changed': u'*',2303                                            u'has_metadata': u'*',2304                                            u'is_directory': u'*'}},2305                             {'ACTION': u'pass',2306                              'ACTION_FUNC': u'nothing',2307                              'COMMENTS': u'A download for a content object with the same hash is already in progress',2308                              'PARAMETERS': {u'hash_eq_local_hash': u'F',2309                                             u'hash_eq_server_hash': u'T',2310                                             u'not_authorized': u'NA',2311                                             u'not_available': u'NA'},2312                              'STATE': {u'changed': u'SERVER',2313                                        u'has_metadata': u'T',2314                                        u'is_directory': u'F'},2315                              'STATE_OUT': {u'changed': u'=',2316                                            u'has_metadata': u'=',2317                                            u'is_directory': u'='}},2318                             {'ACTION': u'md.remove_partial(uuid)\nmd.set(uuid, server_hash=hash)\naq.cancel_download(uuid)',2319                              'ACTION_FUNC': u'server_file_changed_back',2320                              '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",2321                              'PARAMETERS': {u'hash_eq_local_hash': u'T',2322                                             u'hash_eq_server_hash': u'F',2323                                             u'not_authorized': u'NA',2324                                             u'not_available': u'NA'},2325                              'STATE': {u'changed': u'SERVER',2326                                        u'has_metadata': u'T',2327                                        u'is_directory': u'F'},2328                              'STATE_OUT': {u'changed': u'NONE',2329                                            u'has_metadata': u'=',2330                                            u'is_directory': u'='}},2331                             {'ACTION': u'aq.cancel_download(uuid)\nmd.set(uuid, server_hash=hash)\npartial = md.get_partial(uuid)\naq.getcontent(*partial)',2332                              'ACTION_FUNC': u'reget_file',2333                              '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.',2334                              'PARAMETERS': {u'hash_eq_local_hash': u'F',2335                                             u'hash_eq_server_hash': u'F',2336                                             u'not_authorized': u'NA',2337                                             u'not_available': u'NA'},2338                              'STATE': {u'changed': u'SERVER',2339                                        u'has_metadata': u'T',2340                                        u'is_directory': u'F'},2341                              'STATE_OUT': {u'changed': u'SERVER',2342                                            u'has_metadata': u'=',2343                                            u'is_directory': u'='}},2344                             {'ACTION': u'NA',2345                              'ACTION_FUNC': u'',2346                              'COMMENTS': u'LOCAL, T, T is a impossible (LOCAL implies server_hash != local_hash)',2347                              'PARAMETERS': {u'hash_eq_local_hash': u'T',2348                                             u'hash_eq_server_hash': u'T',2349                                             u'not_authorized': u'NA',2350                                             u'not_available': u'NA'},2351                              'STATE': {u'changed': u'LOCAL',2352                                        u'has_metadata': u'T',2353                                        u'is_directory': u'F'},2354                              'STATE_OUT': {u'changed': u'*',2355                                            u'has_metadata': u'*',2356                                            u'is_directory': u'*'}},2357                             {'ACTION': u'aq.upload()',2358                              'ACTION_FUNC': u'reput_file_from_local',2359                              'COMMENTS': u'The upload was interrupted, just try it again. ',2360                              'PARAMETERS': {u'hash_eq_local_hash': u'F',2361                                             u'hash_eq_server_hash': u'T',2362                                             u'not_authorized': u'NA',2363                                             u'not_available': u'NA'},2364                              'STATE': {u'changed': u'LOCAL',2365                                        u'has_metadata': u'T',2366                                        u'is_directory': u'F'},2367                              'STATE_OUT': {u'changed': u'=',2368                                            u'has_metadata': u'=',2369                                            u'is_directory': u'='}},2370                             {'ACTION': u'aq.cancel_upload(uuid)\nmd.set(uuid, server_hash=hash)',2371                              'ACTION_FUNC': u'server_file_now_matches',2372                              'COMMENTS': u"there's a small chance that the cancel fails, in which case we're simply redundant",2373                              'PARAMETERS': {u'hash_eq_local_hash': u'T',2374                                             u'hash_eq_server_hash': u'F',2375                                             u'not_authorized': u'NA',2376                                             u'not_available': u'NA'},2377                              'STATE': {u'changed': u'LOCAL',2378                                        u'has_metadata': u'T',2379                                        u'is_directory': u'F'},2380                              'STATE_OUT': {u'changed': u'NONE',2381                                            u'has_metadata': u'=',2382                                            u'is_directory': u'='}},2383                             {'ACTION': u'CONFLICT',2384                              'ACTION_FUNC': u'local_file_conflict',2385                              'COMMENTS': u'',2386                              'PARAMETERS': {u'hash_eq_local_hash': u'F',2387                                             u'hash_eq_server_hash': u'F',2388                                             u'not_authorized': u'NA',2389                                             u'not_available': u'NA'},2390                              'STATE': {u'changed': u'LOCAL',2391                                        u'has_metadata': u'T',2392                                        u'is_directory': u'F'},2393                              'STATE_OUT': {u'changed': u'SERVER',2394                                            u'has_metadata': u'T',2395                                            u'is_directory': u'='}},2396                             {'ACTION': u'pass',2397                              'ACTION_FUNC': u'DESPAIR',2398                              'COMMENTS': u'cant set hash on directories',2399                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',2400                                             u'hash_eq_server_hash': u'T',2401                                             u'not_authorized': u'NA',2402                                             u'not_available': u'NA'},2403                              'STATE': {u'changed': u'NONE',2404                                        u'has_metadata': u'T',2405                                        u'is_directory': u'T'},2406                              'STATE_OUT': {u'changed': u'=',2407                                            u'has_metadata': u'=',2408                                            u'is_directory': u'='}},2409                             {'ACTION': u'md.set(uuid, server_hash=hash)\npartial = md.create_partial(uuid)\naq.getcontent(*partial)',2410                              'ACTION_FUNC': u'DESPAIR',2411                              'COMMENTS': u'cant set hash on directories',2412                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',2413                                             u'hash_eq_server_hash': u'F',2414                                             u'not_authorized': u'NA',2415                                             u'not_available': u'NA'},2416                              'STATE': {u'changed': u'NONE',2417                                        u'has_metadata': u'T',2418                                        u'is_directory': u'T'},2419                              'STATE_OUT': {u'changed': u'SERVER',2420                                            u'has_metadata': u'=',2421                                            u'is_directory': u'='}},2422                             {'ACTION': u'aq.cancel_download(uuid) \nmd.set(uuid, server_hash=hash)',2423                              'ACTION_FUNC': u'DESPAIR',2424                              'COMMENTS': u'cant set hash on directories',2425                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',2426                                             u'hash_eq_server_hash': u'T',2427                                             u'not_authorized': u'NA',2428                                             u'not_available': u'NA'},2429                              'STATE': {u'changed': u'SERVER',2430                                        u'has_metadata': u'T',2431                                        u'is_directory': u'T'},2432                              'STATE_OUT': {u'changed': u'SERVER',2433                                            u'has_metadata': u'=',2434                                            u'is_directory': u'='}},2435                             {'ACTION': u'aq.cancel_download(uuid)\nmd.set(uuid, server_hash=hash)\npartial = md.get_partial(uuid)\naq.getcontent(*partial)',2436                              'ACTION_FUNC': u'DESPAIR',2437                              'COMMENTS': u'cant set hash on directories',2438                              'PARAMETERS': {u'hash_eq_local_hash': u'!NA',2439                                             u'hash_eq_server_hash': u'F',2440                                             u'not_authorized': u'NA',2441                                             u'not_available': u'NA'},2442                              'STATE': {u'changed': u'SERVER',2443                                        u'has_metadata': u'T',2444                                        u'is_directory': u'T'},2445                              'STATE_OUT': {u'changed': u'NONE',2446                                            u'has_metadata': u'=',2447                                            u'is_directory': u'='}}],2448            u'SV_MOVED': [{'ACTION': u'DESPAIR',2449                           'ACTION_FUNC': u'DESPAIR',2450                           'COMMENTS': u'',2451                           'PARAMETERS': {u'hash_eq_local_hash': u'NA',2452                                          u'hash_eq_server_hash': u'NA',2453                                          u'not_authorized': u'NA',2454                                          u'not_available': u'NA'},2455                           'STATE': {u'changed': u'NA',2456                                     u'has_metadata': u'F',2457                                     u'is_directory': u'NA'},2458                           'STATE_OUT': {u'changed': u'*',2459                                         u'has_metadata': u'*',2460                                         u'is_directory': u'*'}},2461                          {'ACTION': u'md.move(uuid)',2462                           'ACTION_FUNC': u'server_moved',2463                           'COMMENTS': u'all pending changes should arrive to the moved file\naq should remove the destination if its there',2464                           'PARAMETERS': {u'hash_eq_local_hash': u'NA',2465                                          u'hash_eq_server_hash': u'NA',2466                                          u'not_authorized': u'NA',2467                                          u'not_available': u'NA'},2468                           'STATE': {u'changed': u'!SERVER',2469                                     u'has_metadata': u'T',2470                                     u'is_directory': u'*'},2471                           'STATE_OUT': {u'changed': u'=',2472                                         u'has_metadata': u'T',2473                                         u'is_directory': u'='}},2474                          {'ACTION': u'cancel_download; move; query',2475                           'ACTION_FUNC': u'server_moved_dirty',2476                           'COMMENTS': u'we got a move while we were downloading it',2477                           'PARAMETERS': {u'hash_eq_local_hash': u'NA',2478                                          u'hash_eq_server_hash': u'NA',2479                                          u'not_authorized': u'NA',2480                                          u'not_available': u'NA'},2481                           'STATE': {u'changed': u'SERVER',2482                                     u'has_metadata': u'T',2483                                     u'is_directory': u'*'},2484                           'STATE_OUT': {u'changed': u'=',2485                                         u'has_metadata': u'T',2486                                         u'is_directory': u'='}}]},2487 'invalid': [{u'changed': u'NONE',2488              u'has_metadata': u'F',2489              u'is_directory': u'T'},2490             {u'changed': u'SERVER',2491              u'has_metadata': u'F',2492              u'is_directory': u'T'},2493             {u'changed': u'LOCAL',2494              u'has_metadata': u'F',2495              u'is_directory': u'T'},2496             {u'changed': u'NONE',2497              u'has_metadata': u'F',2498              u'is_directory': u'F'},2499             {u'changed': u'SERVER',2500              u'has_metadata': u'F',2501              u'is_directory': u'F'},2502             {u'changed': u'LOCAL',2503              u'has_metadata': u'F',2504              u'is_directory': u'F'},2505             {u'changed': u'NONE',2506              u'has_metadata': u'F',2507              u'is_directory': u'NA'},2508             {u'changed': u'SERVER',2509              u'has_metadata': u'F',2510              u'is_directory': u'NA'},2511             {u'changed': u'LOCAL',2512              u'has_metadata': u'F',2513              u'is_directory': u'NA'},2514             {u'changed': u'NONE',2515              u'has_metadata': u'T',2516              u'is_directory': u'NA'},2517             {u'changed': u'SERVER',2518              u'has_metadata': u'T',2519              u'is_directory': u'NA'},2520             {u'changed': u'LOCAL',2521              u'has_metadata': u'T',2522              u'is_directory': u'NA'},2523             {u'changed': u'NA',2524              u'has_metadata': u'T',2525              u'is_directory': u'NA'},2526             {u'changed': u'NA',2527              u'has_metadata': u'T',2528              u'is_directory': u'F'},2529             {u'changed': u'NA',2530              u'has_metadata': u'T',2531              u'is_directory': u'T'},2532             {u'changed': u'LOCAL',2533              u'has_metadata': u'T',2534              u'is_directory': u'T'},2535             {u'changed': u'NA',2536              u'has_metadata': u'F',2537              u'is_directory': u'T'},2538             {u'changed': u'NA',2539              u'has_metadata': u'F',2540              u'is_directory': u'F'}],2541 'parameters': {u'hash_eq_local_hash': u'hash == md.local_hash',2542                u'hash_eq_server_hash': u'hash == md.server_hash',2543                u'not_authorized': u'error == not authorized',2544                u'not_available': u'error == not available'},2545 'state_vars': {u'changed': u'changed',2546                u'has_metadata': u'\u2203 md',...configuration_file_response.py
Source:configuration_file_response.py  
...80        :type: str81        """82        self._last_read_hash = last_read_hash83    @property84    def is_directory(self):85        """Gets the is_directory of this ConfigurationFileResponse.  # noqa: E50186        If Tgstation.Server.Api.Models.Response.ConfigurationFileResponse.Path represents a directory  # noqa: E50187        :return: The is_directory of this ConfigurationFileResponse.  # noqa: E50188        :rtype: bool89        """90        return self._is_directory91    @is_directory.setter92    def is_directory(self, is_directory):93        """Sets the is_directory of this ConfigurationFileResponse.94        If Tgstation.Server.Api.Models.Response.ConfigurationFileResponse.Path represents a directory  # noqa: E50195        :param is_directory: The is_directory of this ConfigurationFileResponse.  # noqa: E50196        :type: bool97        """98        self._is_directory = is_directory99    @property100    def access_denied(self):101        """Gets the access_denied of this ConfigurationFileResponse.  # noqa: E501102        If access to the Tgstation.Server.Api.Models.IConfigurationFile file was denied for the operation  # noqa: E501103        :return: The access_denied of this ConfigurationFileResponse.  # noqa: E501104        :rtype: bool105        """106        return self._access_denied...typio_test.py
Source:typio_test.py  
1import unittest2from typio import Entry3class TestTypio(unittest.TestCase):4    def test_default_patterns(self):5        entry = Entry({6            "origin": "github",7            "name": "Mockito",8            "url": "https://github.com/mockito/mockito",9            "language": "Java",10            "commit": "v2.11.0",11        })12        # By default, everything should be included13        self.assertFalse(entry.ignorable('src/main', is_directory=True))14        self.assertFalse(entry.ignorable('src/main/java/Main.java', is_directory=False))15        self.assertFalse(entry.ignorable('src/test', is_directory=True))16        self.assertFalse(entry.ignorable('src/test/java/Test.java', is_directory=False))17        self.assertFalse(entry.ignorable('gradle', is_directory=True))18        self.assertFalse(entry.ignorable('README.md', is_directory=False))19        # Except hidden files20        self.assertTrue(entry.ignorable('.github', is_directory=True))21        self.assertTrue(entry.ignorable('.gitignore', is_directory=False))22    def test_custom_patterns(self):23        entry = Entry({24            "origin": "github",25            "name": "Mockito",26            "url": "https://github.com/mockito/mockito",27            "language": "Java",28            "commit": "v2.11.0",29            "includes": ["/src/", "*.gradle", "*.properties"],30            "excludes": ["/src/javadoc/", "/src/conf/"],31        })32        # Everything under stc/main should be included33        self.assertFalse(entry.ignorable('src/main', is_directory=True))34        self.assertFalse(entry.ignorable('src/main/java/Main.java', is_directory=False))35        # Everything under src/javadoc should be ignored36        self.assertTrue(entry.ignorable('src/javadoc', is_directory=True))37        self.assertTrue(entry.ignorable('src/javadoc/index.html', is_directory=False))38        # Hidden files should be ignored39        self.assertTrue(entry.ignorable('.github', is_directory=True))40        self.assertTrue(entry.ignorable('.gitignore', is_directory=False))41        # Non specified folders should be ignored42        self.assertTrue(entry.ignorable('gradle', is_directory=True))43    def test_default_extensions(self):44        entry = Entry({45            "origin": "github",46            "name": "Mockito",47            "url": "https://github.com/mockito/mockito",48            "language": "Java",49            "commit": "v2.11.0"50        })51        # There is no filtering on extension by default52        self.assertFalse(entry.ignorable('src/main/java/Main.java', is_directory=False))53        self.assertFalse(entry.ignorable('src/main/go/main.go', is_directory=False))54        self.assertFalse(entry.ignorable('src/main/c/main.h', is_directory=False))55        self.assertFalse(entry.ignorable('README.md', is_directory=False))56        self.assertFalse(entry.ignorable('README.adoc', is_directory=False))57        self.assertFalse(entry.ignorable('README', is_directory=False))58    def test_custom_extensions(self):59        entry = Entry({60            "origin": "github",61            "name": "Mockito",62            "url": "https://github.com/mockito/mockito",63            "language": "Java",64            "commit": "v2.11.0",65            "extensions": ["java", "h", "adoc"]66        })67        # There is no filtering on extension by default68        self.assertFalse(entry.ignorable('src/main/java/Main.java', is_directory=False))69        self.assertTrue(entry.ignorable('src/main/go/main.go', is_directory=False))70        self.assertFalse(entry.ignorable('src/main/c/main.h', is_directory=False))71        self.assertTrue(entry.ignorable('src/README.md', is_directory=False))72        self.assertFalse(entry.ignorable('src/README.adoc', is_directory=False))73        self.assertTrue(entry.ignorable('src/README', is_directory=False))74    def test_root_files(self):75        entry = Entry({76            "origin": "github",77            "name": "Mockito",78            "url": "https://github.com/mockito/mockito",79            "language": "Java",80            "commit": "v2.11.0",81            "includes": ["src"]82        })83        # There is no filtering on extension by default84        self.assertTrue(entry.ignorable('docs', is_directory=True))85        self.assertTrue(entry.ignorable('docs/index.html', is_directory=False))86        self.assertFalse(entry.ignorable('src/main/go/main.go', is_directory=False))87        self.assertFalse(entry.ignorable('README.md', is_directory=False))88        self.assertFalse(entry.ignorable('LICENSE', is_directory=False))89if __name__ == '__main__':...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
