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__':...
Check out the latest blogs from LambdaTest on this topic:
I was once asked at a testing summit, “How do you manage a QA team using scrum?” After some consideration, I realized it would make a good article, so here I am. Understand that the idea behind developing software in a scrum environment is for development teams to self-organize.
Collecting and examining data from multiple sources can be a tedious process. The digital world is constantly evolving. To stay competitive in this fast-paced environment, businesses must frequently test their products and services. While it’s easy to collect raw data from multiple sources, it’s far more complex to interpret it properly.
Pair testing can help you complete your testing tasks faster and with higher quality. But who can do pair testing, and when should it be done? And what form of pair testing is best for your circumstance? Check out this blog for more information on how to conduct pair testing to optimize its benefits.
Greetings folks! With the new year finally upon us, we’re excited to announce a collection of brand-new product updates. At LambdaTest, we strive to provide you with a comprehensive test orchestration and execution platform to ensure the ultimate web and mobile experience.
If you pay close attention, you’ll notice that toggle switches are all around us because lots of things have two simple states: either ON or OFF (in binary 1 or 0).
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!!