~rmcbride/ubuntu/lucid/ubuntuone-client/fixucg

« back to all changes in this revision

Viewing changes to ubuntuone/syncdaemon/states.py

  • Committer: Bazaar Package Importer
  • Author(s): Rodney Dawes
  • Date: 2009-07-16 17:00:00 UTC
  • mto: (17.1.1 ubuntuone-client)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20090716170000-tnnk149g57bxxo24
Tags: upstream-0.90.4
ImportĀ upstreamĀ versionĀ 0.90.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
103
103
    """
104
104
    States that handle network disconnections by doing cleanup.
105
105
    """
106
 
    def __init__(self, name, description, **other_transitions):
 
106
    def __init__(self, name, description, with_q=None, **other_transitions):
 
107
        self.with_q = with_q
 
108
        if with_q is not None:
 
109
            suffix = '_WITH_' + with_q
 
110
        else:
 
111
            suffix = ''
107
112
        super(WorkingSDState, self).__init__(
108
113
            name, description, name, name,
109
 
            'START_CLEANUP_WAITING',
110
 
            'START_CONNECTED_CLEANUP',
111
 
            'START_CLEANUP_WAITING_WITH_NETWORK',
 
114
            'START_CLEANUP_WAITING' + suffix,
 
115
            'START_CONNECTED_CLEANUP' + suffix,
 
116
            'START_CLEANUP_WAITING_WITH_NETWORK' + suffix,
112
117
            is_connected=True, is_online=True,
113
118
            **other_transitions)
114
119
 
166
171
    'READING', 'READING', 'READING',
167
172
    SYS_LOCAL_RESCAN_DONE='READY_FOR_NETWORK',
168
173
    SYS_META_QUEUE_WAITING='READING_WITH_METAQ',
 
174
    SYS_META_QUEUE_DONE='READING',
169
175
    SYS_CONTENT_QUEUE_WAITING='READING_WITH_CONTQ',
 
176
    SYS_CONTENT_QUEUE_DONE='READING',
170
177
    )
171
178
 
172
179
READING_WITH_METAQ = SyncDaemonState(
175
182
    'READING_WITH_NETWORK_WITH_METAQ', 'READING_WAITING_WITH_METAQ',
176
183
    'READING_WITH_METAQ', 'READING_WITH_METAQ', 'READING_WITH_METAQ',
177
184
    SYS_LOCAL_RESCAN_DONE='READY_FOR_NETWORK_WITH_METAQ',
 
185
    SYS_META_QUEUE_WAITING='READING_WITH_METAQ',
 
186
    SYS_META_QUEUE_DONE='READING',
178
187
    SYS_CONTENT_QUEUE_WAITING='READING_WITH_BOTHQ',
 
188
    SYS_CONTENT_QUEUE_DONE='READING_WITH_METAQ',
179
189
    )
180
190
 
181
191
READING_WITH_CONTQ = SyncDaemonState(
185
195
    'READING_WITH_CONTQ', 'READING_WITH_CONTQ', 'READING_WITH_CONTQ',
186
196
    SYS_LOCAL_RESCAN_DONE='READY_FOR_NETWORK_WITH_CONTQ',
187
197
    SYS_META_QUEUE_WAITING='READING_WITH_BOTHQ',
 
198
    SYS_META_QUEUE_DONE='READING_WITH_CONTQ',
188
199
    SYS_CONTENT_QUEUE_WAITING='READING_WITH_CONTQ',
 
200
    SYS_CONTENT_QUEUE_DONE='READING',
189
201
    )
190
202
 
191
203
READING_WITH_BOTHQ = SyncDaemonState(
194
206
    'READING_WITH_NETWORK_WITH_BOTHQ', 'READING_WAITING_WITH_BOTHQ',
195
207
    'READING_WITH_BOTHQ', 'READING_WITH_BOTHQ', 'READING_WITH_BOTHQ',
196
208
    SYS_LOCAL_RESCAN_DONE='READY_FOR_NETWORK_WITH_BOTHQ',
 
209
    SYS_META_QUEUE_WAITING='READING_WITH_BOTHQ',
 
210
    SYS_META_QUEUE_DONE='READING_WITH_CONTQ',
197
211
    SYS_CONTENT_QUEUE_WAITING='READING_WITH_BOTHQ',
 
212
    SYS_CONTENT_QUEUE_DONE='READING_WITH_METAQ',
198
213
    )
199
214
 
200
215
READING_WITH_NETWORK = SyncDaemonState(
204
219
    'READING', 'READING_WITH_NETWORK', 'READING_WITH_NETWORK',
205
220
    SYS_LOCAL_RESCAN_DONE='READY_WITH_NETWORK',
206
221
    SYS_META_QUEUE_WAITING='READING_WITH_NETWORK_WITH_METAQ',
 
222
    SYS_META_QUEUE_DONE='READING_WITH_NETWORK',
207
223
    SYS_CONTENT_QUEUE_WAITING='READING_WITH_NETWORK_WITH_CONTQ',
 
224
    SYS_CONTENT_QUEUE_DONE='READING_WITH_NETWORK',
208
225
    )
209
226
 
210
227
READING_WITH_NETWORK_WITH_METAQ = SyncDaemonState(
215
232
    'READING_WITH_METAQ', 'READING_WITH_NETWORK_WITH_METAQ',
216
233
    'READING_WITH_NETWORK_WITH_METAQ',
217
234
    SYS_LOCAL_RESCAN_DONE='READY_WITH_NETWORK_WITH_METAQ',
 
235
    SYS_META_QUEUE_WAITING='READING_WITH_NETWORK_WITH_METAQ',
 
236
    SYS_META_QUEUE_DONE='READING_WITH_NETWORK',
218
237
    SYS_CONTENT_QUEUE_WAITING='READING_WITH_NETWORK_WITH_BOTHQ',
 
238
    SYS_CONTENT_QUEUE_DONE='READING_WITH_NETWORK_WITH_METAQ',
219
239
    )
220
240
 
221
241
READING_WITH_NETWORK_WITH_CONTQ = SyncDaemonState(
227
247
    'READING_WITH_NETWORK_WITH_CONTQ',
228
248
    SYS_LOCAL_RESCAN_DONE='READY_WITH_NETWORK_WITH_CONTQ',
229
249
    SYS_META_QUEUE_WAITING='READING_WITH_NETWORK_WITH_BOTHQ',
 
250
    SYS_META_QUEUE_DONE='READING_WITH_NETWORK_WITH_CONTQ',
230
251
    SYS_CONTENT_QUEUE_WAITING='READING_WITH_NETWORK_WITH_CONTQ',
 
252
    SYS_CONTENT_QUEUE_DONE='READING_WITH_NETWORK',
231
253
    )
232
254
 
233
255
READING_WITH_NETWORK_WITH_BOTHQ = SyncDaemonState(
238
260
    'READING_WITH_BOTHQ', 'READING_WITH_NETWORK_WITH_BOTHQ',
239
261
    'READING_WITH_NETWORK_WITH_BOTHQ',
240
262
    SYS_LOCAL_RESCAN_DONE='READY_WITH_NETWORK_WITH_BOTHQ',
 
263
    SYS_META_QUEUE_WAITING='READING_WITH_NETWORK_WITH_BOTHQ',
 
264
    SYS_META_QUEUE_DONE='READING_WITH_NETWORK_WITH_CONTQ',
241
265
    SYS_CONTENT_QUEUE_WAITING='READING_WITH_NETWORK_WITH_BOTHQ',
 
266
    SYS_CONTENT_QUEUE_DONE='READING_WITH_NETWORK_WITH_METAQ',
242
267
    )
243
268
 
244
269
READING_WAITING = SyncDaemonState(
248
273
    'READING_WAITING', 'READING', 'READING_WAITING',
249
274
    SYS_LOCAL_RESCAN_DONE='READY_WAITING',
250
275
    SYS_META_QUEUE_WAITING='READING_WAITING_WITH_METAQ',
 
276
    SYS_META_QUEUE_DONE='READING_WAITING',
251
277
    SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_CONTQ',
 
278
    SYS_CONTENT_QUEUE_DONE='READING_WAITING',
252
279
    )
253
280
 
254
281
READING_WAITING_WITH_METAQ = SyncDaemonState(
258
285
    'READING_WAITING_WITH_METAQ', 'READING_WITH_METAQ',
259
286
    'READING_WAITING_WITH_METAQ',
260
287
    SYS_LOCAL_RESCAN_DONE='READY_WAITING_WITH_METAQ',
 
288
    SYS_META_QUEUE_WAITING='READING_WAITING_WITH_METAQ',
 
289
    SYS_META_QUEUE_DONE='READING_WAITING',
261
290
    SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_BOTHQ',
 
291
    SYS_CONTENT_QUEUE_DONE='READING_WAITING_WITH_METAQ',
262
292
    )
263
293
 
264
294
READING_WAITING_WITH_CONTQ = SyncDaemonState(
269
299
    'READING_WAITING_WITH_CONTQ',
270
300
    SYS_LOCAL_RESCAN_DONE='READY_WAITING_WITH_CONTQ',
271
301
    SYS_META_QUEUE_WAITING='READING_WAITING_WITH_BOTHQ',
 
302
    SYS_META_QUEUE_DONE='READING_WAITING_WITH_CONTQ',
272
303
    SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_CONTQ',
 
304
    SYS_CONTENT_QUEUE_DONE='READING_WAITING',
273
305
    )
274
306
 
275
307
READING_WAITING_WITH_BOTHQ = SyncDaemonState(
279
311
    'READING_WAITING_WITH_BOTHQ', 'READING_WITH_BOTHQ',
280
312
    'READING_WAITING_WITH_BOTHQ',
281
313
    SYS_LOCAL_RESCAN_DONE='READY_WAITING_WITH_BOTHQ',
 
314
    SYS_META_QUEUE_WAITING='READING_WAITING_WITH_BOTHQ',
 
315
    SYS_META_QUEUE_DONE='READING_WAITING_WITH_CONTQ',
282
316
    SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_BOTHQ',
 
317
    SYS_CONTENT_QUEUE_DONE='READING_WAITING_WITH_CONTQ',
283
318
    )
284
319
 
285
320
READING_WAITING_WITH_NETWORK = SyncDaemonState(
290
325
    'READING_WAITING_WITH_NETWORK',
291
326
    SYS_LOCAL_RESCAN_DONE='START_CONNECTING',
292
327
    SYS_META_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_METAQ',
 
328
    SYS_META_QUEUE_DONE='READING_WAITING_WITH_NETWORK',
293
329
    SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_CONTQ',
 
330
    SYS_CONTENT_QUEUE_DONE='READING_WAITING_WITH_NETWORK',
294
331
    )
295
332
 
296
333
READING_WAITING_WITH_NETWORK_WITH_METAQ = SyncDaemonState(
302
339
    'READING_WAITING_WITH_METAQ', 'READING_WITH_NETWORK_WITH_METAQ',
303
340
    'READING_WAITING_WITH_NETWORK_WITH_METAQ',
304
341
    SYS_LOCAL_RESCAN_DONE='START_CONNECTING_WITH_METAQ',
 
342
    SYS_META_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_METAQ',
 
343
    SYS_META_QUEUE_DONE='READING_WAITING_WITH_NETWORK',
305
344
    SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
345
    SYS_CONTENT_QUEUE_DONE='READING_WAITING_WITH_NETWORK_WITH_METAQ',
306
346
    )
307
347
 
308
348
READING_WAITING_WITH_NETWORK_WITH_CONTQ = SyncDaemonState(
315
355
    'READING_WAITING_WITH_NETWORK_WITH_CONTQ',
316
356
    SYS_LOCAL_RESCAN_DONE='START_CONNECTING_WITH_CONTQ',
317
357
    SYS_META_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
358
    SYS_META_QUEUE_DONE='READING_WAITING_WITH_NETWORK_WITH_CONTQ',
318
359
    SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_CONTQ',
 
360
    SYS_CONTENT_QUEUE_DONE='READING_WAITING_WITH_NETWORK',
319
361
    )
320
362
 
321
363
READING_WAITING_WITH_NETWORK_WITH_BOTHQ = SyncDaemonState(
327
369
    'READING_WAITING_WITH_BOTHQ', 'READING_WITH_NETWORK_WITH_BOTHQ',
328
370
    'READING_WAITING_WITH_NETWORK_WITH_BOTHQ',
329
371
    SYS_LOCAL_RESCAN_DONE='START_CONNECTING_WITH_BOTHQ',
 
372
    SYS_META_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
373
    SYS_META_QUEUE_DONE='READING_WAITING_WITH_NETWORK_WITH_CONTQ',
330
374
    SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
375
    SYS_CONTENT_QUEUE_DONE='READING_WAITING_WITH_NETWORK_WITH_METAQ',
331
376
    )
332
377
 
333
378
READY_FOR_NETWORK = SyncDaemonState(
336
381
    'READY_WITH_NETWORK', 'READY_WAITING',
337
382
    'READY_FOR_NETWORK', 'READY_FOR_NETWORK', 'READY_FOR_NETWORK',
338
383
    SYS_META_QUEUE_WAITING='READY_FOR_NETWORK_WITH_METAQ',
 
384
    SYS_META_QUEUE_DONE='READY_FOR_NETWORK',
339
385
    SYS_CONTENT_QUEUE_WAITING='READY_FOR_NETWORK_WITH_CONTQ',
 
386
    SYS_CONTENT_QUEUE_DONE='READY_FOR_NETWORK',
340
387
    )
341
388
 
342
389
READY_FOR_NETWORK_WITH_METAQ = SyncDaemonState(
346
393
    'READY_WITH_NETWORK_WITH_METAQ', 'READY_WAITING_WITH_METAQ',
347
394
    'READY_FOR_NETWORK_WITH_METAQ', 'READY_FOR_NETWORK_WITH_METAQ',
348
395
    'READY_FOR_NETWORK_WITH_METAQ',
 
396
    SYS_META_QUEUE_WAITING='READY_FOR_NETWORK_WITH_METAQ',
 
397
    SYS_META_QUEUE_DONE='READY_FOR_NETWORK',
349
398
    SYS_CONTENT_QUEUE_WAITING='READY_FOR_NETWORK_WITH_BOTHQ',
 
399
    SYS_CONTENT_QUEUE_DONE='READY_FOR_NETWORK_WITH_METAQ',
350
400
    )
351
401
 
352
402
READY_FOR_NETWORK_WITH_CONTQ = SyncDaemonState(
357
407
    'READY_FOR_NETWORK_WITH_CONTQ', 'READY_FOR_NETWORK_WITH_CONTQ',
358
408
    'READY_FOR_NETWORK_WITH_CONTQ',
359
409
    SYS_META_QUEUE_WAITING='READY_FOR_NETWORK_WITH_BOTHQ',
 
410
    SYS_META_QUEUE_DONE='READY_FOR_NETWORK_WITH_CONTQ',
360
411
    SYS_CONTENT_QUEUE_WAITING='READY_FOR_NETWORK_WITH_CONTQ',
 
412
    SYS_CONTENT_QUEUE_DONE='READY_FOR_NETWORK',
361
413
    )
362
414
 
363
415
READY_FOR_NETWORK_WITH_BOTHQ = SyncDaemonState(
367
419
    'READY_WITH_NETWORK_WITH_BOTHQ', 'READY_WAITING_WITH_BOTHQ',
368
420
    'READY_FOR_NETWORK_WITH_BOTHQ', 'READY_FOR_NETWORK_WITH_BOTHQ',
369
421
    'READY_FOR_NETWORK_WITH_BOTHQ',
 
422
    SYS_META_QUEUE_WAITING='READY_FOR_NETWORK_WITH_BOTHQ',
 
423
    SYS_META_QUEUE_DONE='READY_FOR_NETWORK_WITH_CONTQ',
370
424
    SYS_CONTENT_QUEUE_WAITING='READY_FOR_NETWORK_WITH_BOTHQ',
 
425
    SYS_CONTENT_QUEUE_DONE='READY_FOR_NETWORK_WITH_METAQ',
371
426
    )
372
427
 
373
428
READY_WITH_NETWORK = SyncDaemonState(
376
431
    'READY_WITH_NETWORK', 'START_CONNECTING',
377
432
    'READY_FOR_NETWORK', 'READY_WITH_NETWORK', 'READY_WITH_NETWORK',
378
433
    SYS_META_QUEUE_WAITING='READY_WITH_NETWORK_WITH_METAQ',
 
434
    SYS_META_QUEUE_DONE='READY_WITH_NETWORK',
379
435
    SYS_CONTENT_QUEUE_WAITING='READY_WITH_NETWORK_WITH_CONTQ',
 
436
    SYS_CONTENT_QUEUE_DONE='READY_WITH_NETWORK',
380
437
    )
381
438
 
382
439
READY_WITH_NETWORK_WITH_METAQ = SyncDaemonState(
386
443
    'READY_FOR_NETWORK_WITH_METAQ', 'READY_WITH_NETWORK_WITH_METAQ',
387
444
    'READY_WITH_NETWORK_WITH_METAQ',
388
445
    SYS_META_QUEUE_WAITING='READY_WITH_NETWORK_WITH_METAQ',
 
446
    SYS_META_QUEUE_DONE='READY_WITH_NETWORK',
389
447
    SYS_CONTENT_QUEUE_WAITING='READY_WITH_NETWORK_WITH_BOTHQ',
 
448
    SYS_CONTENT_QUEUE_DONE='READY_WITH_NETWORK_WITH_METAQ',
390
449
    )
391
450
 
392
451
READY_WITH_NETWORK_WITH_CONTQ = SyncDaemonState(
396
455
    'READY_FOR_NETWORK_WITH_CONTQ', 'READY_WITH_NETWORK_WITH_CONTQ',
397
456
    'READY_WITH_NETWORK_WITH_CONTQ',
398
457
    SYS_META_QUEUE_WAITING='READY_WITH_NETWORK_WITH_BOTHQ',
 
458
    SYS_META_QUEUE_DONE='READY_WITH_NETWORK_WITH_CONTQ',
399
459
    SYS_CONTENT_QUEUE_WAITING='READY_WITH_NETWORK_WITH_CONTQ',
 
460
    SYS_CONTENT_QUEUE_DONE='READY_WITH_NETWORK',
400
461
    )
401
462
 
402
463
READY_WITH_NETWORK_WITH_BOTHQ = SyncDaemonState(
406
467
    'READY_FOR_NETWORK_WITH_BOTHQ', 'READY_WITH_NETWORK_WITH_BOTHQ',
407
468
    'READY_WITH_NETWORK_WITH_BOTHQ',
408
469
    SYS_META_QUEUE_WAITING='READY_WITH_NETWORK_WITH_BOTHQ',
 
470
    SYS_META_QUEUE_DONE='READY_WITH_NETWORK_WITH_CONTQ',
409
471
    SYS_CONTENT_QUEUE_WAITING='READY_WITH_NETWORK_WITH_BOTHQ',
 
472
    SYS_CONTENT_QUEUE_DONE='READY_WITH_NETWORK_WITH_METAQ',
410
473
    )
411
474
 
412
475
READY_WAITING = SyncDaemonState(
415
478
    'START_CONNECTING', 'READY_WAITING',
416
479
    'READY_WAITING', 'READY_FOR_NETWORK', 'READY_WAITING',
417
480
    SYS_META_QUEUE_WAITING='READY_WAITING_WITH_METAQ',
 
481
    SYS_META_QUEUE_DONE='READY_WAITING',
418
482
    SYS_CONTENT_QUEUE_WAITING='READY_WAITING_WITH_CONTQ',
 
483
    SYS_CONTENT_QUEUE_DONE='READY_WAITING',
419
484
)
420
485
 
421
486
READY_WAITING_WITH_METAQ = SyncDaemonState(
424
489
    'START_CONNECTING_WITH_METAQ', 'READY_WAITING_WITH_METAQ',
425
490
    'READY_WAITING_WITH_METAQ', 'READY_FOR_NETWORK_WITH_METAQ',
426
491
    'READY_WAITING_WITH_METAQ',
 
492
    SYS_META_QUEUE_DONE='READY_WAITING_WITH_METAQ',
 
493
    SYS_META_QUEUE_WAITING='READY_WAITING_WITH_METAQ',
427
494
    SYS_CONTENT_QUEUE_WAITING='READY_WAITING_WITH_BOTHQ',
 
495
    SYS_CONTENT_QUEUE_DONE='READY_WAITING_WITH_METAQ',
428
496
)
429
497
 
430
498
READY_WAITING_WITH_CONTQ = SyncDaemonState(
434
502
    'READY_WAITING_WITH_CONTQ', 'READY_FOR_NETWORK_WITH_CONTQ',
435
503
    'READY_WAITING_WITH_CONTQ',
436
504
    SYS_META_QUEUE_WAITING='READY_WAITING_WITH_METAQ',
 
505
    SYS_META_QUEUE_DONE='READY_WAITING_WITH_CONTQ',
437
506
    SYS_CONTENT_QUEUE_WAITING='READY_WAITING_WITH_CONTQ',
 
507
    SYS_CONTENT_QUEUE_DONE='READY_WAITING',
438
508
)
439
509
 
440
510
READY_WAITING_WITH_BOTHQ = SyncDaemonState(
443
513
    'START_CONNECTING_WITH_BOTHQ', 'READY_WAITING_WITH_BOTHQ',
444
514
    'READY_WAITING_WITH_BOTHQ', 'READY_FOR_NETWORK_WITH_BOTHQ',
445
515
    'READY_WAITING_WITH_BOTHQ',
 
516
    SYS_META_QUEUE_WAITING='READY_WAITING_WITH_BOTHQ',
 
517
    SYS_META_QUEUE_DONE='READY_WAITING_WITH_CONTQ',
446
518
    SYS_CONTENT_QUEUE_WAITING='READY_WAITING_WITH_BOTHQ',
 
519
    SYS_CONTENT_QUEUE_DONE='READY_WAITING_WITH_METAQ',
447
520
)
448
521
 
449
522
START_CONNECTING = SyncDaemonState(
453
526
    'READY_WAITING', 'READY_WITH_NETWORK', 'START_CONNECTING',
454
527
    SYS_CONNECTION_MADE='START_CONNECTED',
455
528
    SYS_META_QUEUE_WAITING='CONNECTING_WITH_METAQ',
 
529
    SYS_META_QUEUE_DONE='CONNECTING',
456
530
    SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_CONTQ',
 
531
    SYS_CONTENT_QUEUE_DONE='CONNECTING',
457
532
    enter=lambda m: m.action_q.connect(),
458
533
    )
459
534
 
464
539
    'READY_WAITING_WITH_METAQ', 'READY_WITH_NETWORK_WITH_METAQ',
465
540
    'START_CONNECTING_WITH_METAQ',
466
541
    SYS_CONNECTION_MADE='START_CONNECTED_WITH_METAQ',
 
542
    SYS_META_QUEUE_WAITING='CONNECTING_WITH_METAQ',
 
543
    SYS_META_QUEUE_DONE='CONNECTING',
467
544
    SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
 
545
    SYS_CONTENT_QUEUE_DONE='CONNECTING_WITH_METAQ',
468
546
    enter=lambda m: m.action_q.connect(),
469
547
    )
470
548
 
476
554
    'START_CONNECTING_WITH_CONTQ',
477
555
    SYS_CONNECTION_MADE='START_CONNECTED_WITH_CONTQ',
478
556
    SYS_META_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
 
557
    SYS_META_QUEUE_DONE='CONNECTING_WITH_CONTQ',
479
558
    SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_CONTQ',
 
559
    SYS_CONTENT_QUEUE_DONE='CONNECTING',
480
560
    enter=lambda m: m.action_q.connect(),
481
561
    )
482
562
 
487
567
    'READY_WAITING_WITH_BOTHQ', 'READY_WITH_NETWORK_WITH_BOTHQ',
488
568
    'START_CONNECTING_WITH_BOTHQ',
489
569
    SYS_CONNECTION_MADE='START_CONNECTED_WITH_BOTHQ',
 
570
    SYS_META_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
 
571
    SYS_META_QUEUE_DONE='CONNECTING_WITH_CONTQ',
490
572
    SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
 
573
    SYS_CONTENT_QUEUE_DONE='CONNECTING_WITH_METAQ',
491
574
    enter=lambda m: m.action_q.connect(),
492
575
    )
493
576
 
498
581
    'READY_WAITING', 'READY_WITH_NETWORK', 'START_CONNECTING',
499
582
    SYS_CONNECTION_MADE='START_CONNECTED',
500
583
    SYS_META_QUEUE_WAITING='CONNECTING_WITH_METAQ',
 
584
    SYS_META_QUEUE_DONE='CONNECTING',
501
585
    SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_CONTQ',
 
586
    SYS_CONTENT_QUEUE_DONE='CONNECTING',
502
587
    )
503
588
 
504
589
CONNECTING_WITH_METAQ = SyncDaemonState(
508
593
    'READY_WAITING_WITH_METAQ', 'READY_WITH_NETWORK_WITH_METAQ',
509
594
    'START_CONNECTING_WITH_METAQ',
510
595
    SYS_CONNECTION_MADE='START_CONNECTED_WITH_METAQ',
 
596
    SYS_META_QUEUE_WAITING='CONNECTING_WITH_METAQ',
 
597
    SYS_META_QUEUE_DONE='CONNECTING',
511
598
    SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
 
599
    SYS_CONTENT_QUEUE_DONE='CONNECTING_WITH_METAQ',
512
600
    )
513
601
 
514
602
CONNECTING_WITH_CONTQ = SyncDaemonState(
519
607
    'START_CONNECTING_WITH_CONTQ',
520
608
    SYS_CONNECTION_MADE='START_CONNECTED_WITH_CONTQ',
521
609
    SYS_META_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
 
610
    SYS_META_QUEUE_DONE='CONNECTING_WITH_CONTQ',
522
611
    SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_CONTQ',
 
612
    SYS_CONTENT_QUEUE_DONE='CONNECTING',
523
613
    )
524
614
 
525
615
CONNECTING_WITH_BOTHQ = SyncDaemonState(
529
619
    'READY_WAITING_WITH_BOTHQ', 'READY_WITH_NETWORK_WITH_BOTHQ',
530
620
    'START_CONNECTING_WITH_BOTHQ',
531
621
    SYS_CONNECTION_MADE='START_CONNECTED_WITH_BOTHQ',
 
622
    SYS_META_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
 
623
    SYS_META_QUEUE_DONE='CONNECTING_WITH_CONTQ',
532
624
    SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
 
625
    SYS_CONTENT_QUEUE_DONE='CONNECTING_WITH_METAQ',
533
626
    )
534
627
 
535
628
START_CONNECTED = NonActiveConnectedSDState(
538
631
    SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
539
632
    SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING',
540
633
    SYS_META_QUEUE_WAITING='CONNECTED_WITH_METAQ',
 
634
    SYS_META_QUEUE_DONE='CONNECTED',
541
635
    SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_CONTQ',
 
636
    SYS_CONTENT_QUEUE_DONE='CONNECTED',
542
637
    enter=lambda m: m.check_version(),
543
638
    )
544
639
 
548
643
    with_q='METAQ',
549
644
    SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
550
645
    SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING_WITH_METAQ',
 
646
    SYS_META_QUEUE_WAITING='CONNECTED_WITH_METAQ',
 
647
    SYS_META_QUEUE_DONE='CONNECTED',
551
648
    SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
 
649
    SYS_CONTENT_QUEUE_DONE='CONNECTED_WITH_METAQ',
552
650
    enter=lambda m: m.check_version(),
553
651
    )
554
652
 
559
657
    SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
560
658
    SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING_WITH_CONTQ',
561
659
    SYS_META_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
 
660
    SYS_META_QUEUE_DONE='CONNECTED_WITH_CONTQ',
562
661
    SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_CONTQ',
 
662
    SYS_CONTENT_QUEUE_DONE='CONNECTED',
563
663
    enter=lambda m: m.check_version(),
564
664
    )
565
665
 
569
669
    with_q='BOTHQ',
570
670
    SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
571
671
    SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING_WITH_BOTHQ',
 
672
    SYS_META_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
 
673
    SYS_META_QUEUE_DONE='CONNECTED_WITH_CONTQ',
572
674
    SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
 
675
    SYS_CONTENT_QUEUE_DONE='CONNECTED_WITH_METAQ',
573
676
    enter=lambda m: m.check_version(),
574
677
    )
575
678
 
579
682
    SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
580
683
    SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING',
581
684
    SYS_META_QUEUE_WAITING='CONNECTED_WITH_METAQ',
 
685
    SYS_META_QUEUE_DONE='CONNECTED',
582
686
    SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_CONTQ',
 
687
    SYS_CONTENT_QUEUE_DONE='CONNECTED',
583
688
    )
584
689
 
585
690
CONNECTED_WITH_METAQ = NonActiveConnectedSDState(
588
693
    with_q='METAQ',
589
694
    SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
590
695
    SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING_WITH_METAQ',
 
696
    SYS_META_QUEUE_WAITING='CONNECTED_WITH_METAQ',
 
697
    SYS_META_QUEUE_DONE='CONNECTED',
591
698
    SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
 
699
    SYS_CONTENT_QUEUE_DONE='CONNECTED_WITH_METAQ',
592
700
    )
593
701
 
594
702
CONNECTED_WITH_CONTQ = NonActiveConnectedSDState(
598
706
    SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
599
707
    SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING_WITH_CONTQ',
600
708
    SYS_META_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
 
709
    SYS_META_QUEUE_DONE='CONNECTED_WITH_CONTQ',
601
710
    SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_CONTQ',
 
711
    SYS_CONTENT_QUEUE_DONE='CONNECTED',
602
712
    )
603
713
 
604
714
CONNECTED_WITH_BOTHQ = NonActiveConnectedSDState(
607
717
    with_q='BOTHQ',
608
718
    SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
609
719
    SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING_WITH_BOTHQ',
 
720
    SYS_META_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
 
721
    SYS_META_QUEUE_DONE='CONNECTED_WITH_CONTQ',
610
722
    SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
 
723
    SYS_CONTENT_QUEUE_DONE='CONNECTED_WITH_METAQ',
611
724
    )
612
725
 
613
726
BAD_VERSION = AQErrorState(
621
734
    SYS_OAUTH_OK='SCANNING_START',
622
735
    SYS_OAUTH_ERROR='AUTH_FAILED',
623
736
    SYS_META_QUEUE_WAITING='AUTHENTICATING_WITH_METAQ',
 
737
    SYS_META_QUEUE_DONE='AUTHENTICATING',
624
738
    SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_CONTQ',
 
739
    SYS_CONTENT_QUEUE_DONE='AUTHENTICATING',
625
740
    enter=lambda m: m.authenticate(),
626
741
    )
627
742
 
631
746
    with_q='METAQ',
632
747
    SYS_OAUTH_OK='SCANNING_START_WITH_METAQ',
633
748
    SYS_OAUTH_ERROR='AUTH_FAILED',
 
749
    SYS_META_QUEUE_WAITING='AUTHENTICATING_WITH_METAQ',
 
750
    SYS_META_QUEUE_DONE='AUTHENTICATING',
634
751
    SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
 
752
    SYS_CONTENT_QUEUE_DONE='AUTHENTICATING_WITH_METAQ',
635
753
    enter=lambda m: m.authenticate(),
636
754
    )
637
755
 
642
760
    SYS_OAUTH_OK='SCANNING_START_WITH_CONTQ',
643
761
    SYS_OAUTH_ERROR='AUTH_FAILED',
644
762
    SYS_META_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
 
763
    SYS_META_QUEUE_DONE='AUTHENTICATING_WITH_CONTQ',
645
764
    SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_CONTQ',
 
765
    SYS_CONTENT_QUEUE_DONE='AUTHENTICATING',
646
766
    enter=lambda m: m.authenticate(),
647
767
    )
648
768
 
652
772
    with_q='CONTQ',
653
773
    SYS_OAUTH_OK='SCANNING_START_WITH_BOTHQ',
654
774
    SYS_OAUTH_ERROR='AUTH_FAILED',
 
775
    SYS_META_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
 
776
    SYS_META_QUEUE_DONE='AUTHENTICATING_WITH_CONTQ',
655
777
    SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
 
778
    SYS_CONTENT_QUEUE_DONE='AUTHENTICATING_WITH_METAQ',
656
779
    enter=lambda m: m.authenticate(),
657
780
    )
658
781
 
662
785
    SYS_OAUTH_OK='SCANNING_START',
663
786
    SYS_OAUTH_ERROR='AUTH_FAILED',
664
787
    SYS_META_QUEUE_WAITING='AUTHENTICATING_WITH_METAQ',
 
788
    SYS_META_QUEUE_DONE='AUTHENTICATING',
665
789
    SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_CONTQ',
 
790
    SYS_CONTENT_QUEUE_DONE='AUTHENTICATING',
666
791
    )
667
792
 
668
793
AUTHENTICATING_WITH_METAQ = NonActiveConnectedSDState(
671
796
    with_q='METAQ',
672
797
    SYS_OAUTH_OK='SCANNING_START_WITH_METAQ',
673
798
    SYS_OAUTH_ERROR='AUTH_FAILED',
 
799
    SYS_META_QUEUE_WAITING='AUTHENTICATING_WITH_METAQ',
 
800
    SYS_META_QUEUE_DONE='AUTHENTICATING',
674
801
    SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
 
802
    SYS_CONTENT_QUEUE_DONE='AUTHENTICATING_WITH_METAQ',
675
803
    )
676
804
 
677
805
AUTHENTICATING_WITH_CONTQ = NonActiveConnectedSDState(
681
809
    SYS_OAUTH_OK='SCANNING_START_WITH_CONTQ',
682
810
    SYS_OAUTH_ERROR='AUTH_FAILED',
683
811
    SYS_META_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
 
812
    SYS_META_QUEUE_DONE='AUTHENTICATING_WITH_CONTQ',
684
813
    SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_CONTQ',
 
814
    SYS_CONTENT_QUEUE_DONE='AUTHENTICATING',
685
815
    )
686
816
 
687
817
AUTHENTICATING_WITH_BOTHQ = NonActiveConnectedSDState(
690
820
    with_q='CONTQ',
691
821
    SYS_OAUTH_OK='SCANNING_START_WITH_BOTHQ',
692
822
    SYS_OAUTH_ERROR='AUTH_FAILED',
 
823
    SYS_META_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
 
824
    SYS_META_QUEUE_DONE='AUTHENTICATING_WITH_CONTQ',
693
825
    SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
 
826
    SYS_CONTENT_QUEUE_DONE='AUTHENTICATING_WITH_METAQ',
694
827
    )
695
828
 
696
829
AUTH_FAILED = AQErrorState(
706
839
    'start doing server rescan',
707
840
    SYS_SERVER_RESCAN_STARTING='SCANNING',
708
841
    SYS_META_QUEUE_WAITING='SCANNING_WITH_METAQ',
 
842
    SYS_META_QUEUE_DONE='SCANNING',
709
843
    SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_CONTQ',
 
844
    SYS_CONTENT_QUEUE_DONE='SCANNING',
710
845
    enter=lambda m: m.server_rescan(),
711
846
    )
712
847
 
716
851
    with_q='METAQ',
717
852
    SYS_SERVER_RESCAN_STARTING='SCANNING_WITH_METAQ',
718
853
    SYS_META_QUEUE_WAITING='SCANNING_WITH_METAQ',
 
854
    SYS_META_QUEUE_DONE='SCANNING',
 
855
    SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_BOTHQ',
 
856
    SYS_CONTENT_QUEUE_DONE='SCANNING_WITH_METAQ',
719
857
    enter=lambda m: m.server_rescan(),
720
858
    )
721
859
 
725
863
    with_q='CONTQ',
726
864
    SYS_SERVER_RESCAN_STARTING='SCANNING_WITH_CONTQ',
727
865
    SYS_META_QUEUE_WAITING='SCANNING_WITH_BOTHQ',
 
866
    SYS_META_QUEUE_DONE='SCANNING_WITH_CONTQ',
728
867
    SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_CONTQ',
 
868
    SYS_CONTENT_QUEUE_DONE='SCANNING',
729
869
    enter=lambda m: m.server_rescan(),
730
870
    )
731
871
 
734
874
    'start doing server rescan, both request queues waiting',
735
875
    with_q='CONTQ',
736
876
    SYS_SERVER_RESCAN_STARTING='SCANNING_WITH_BOTHQ',
 
877
    SYS_META_QUEUE_WAITING='SCANNING_WITH_BOTHQ',
 
878
    SYS_META_QUEUE_DONE='SCANNING_WITH_CONTQ',
737
879
    SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_BOTHQ',
 
880
    SYS_CONTENT_QUEUE_DONE='SCANNING_WITH_METAQ',
738
881
    enter=lambda m: m.server_rescan(),
739
882
    )
740
883
 
744
887
    SYS_SERVER_RESCAN_DONE='IDLE',
745
888
    SYS_SERVER_RESCAN_STARTING='SCANNING',
746
889
    SYS_META_QUEUE_WAITING='SCANNING_WITH_METAQ',
 
890
    SYS_META_QUEUE_DONE='SCANNING',
747
891
    SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_CONTQ',
 
892
    SYS_CONTENT_QUEUE_DONE='SCANNING',
748
893
    )
749
894
 
750
895
SCANNING_WITH_METAQ = NonActiveConnectedSDState(
753
898
    with_q='METAQ',
754
899
    SYS_SERVER_RESCAN_DONE='START_WORKING_ON_METADATA',
755
900
    SYS_SERVER_RESCAN_STARTING='SCANNING_WITH_METAQ',
 
901
    SYS_META_QUEUE_WAITING='SCANNING_WITH_METAQ',
 
902
    SYS_META_QUEUE_DONE='SCANNING',
756
903
    SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_BOTHQ',
 
904
    SYS_CONTENT_QUEUE_DONE='SCANNING_WITH_METAQ',
757
905
    )
758
906
 
759
907
SCANNING_WITH_CONTQ = NonActiveConnectedSDState(
763
911
    SYS_SERVER_RESCAN_DONE='START_WORKING_ON_CONTENT',
764
912
    SYS_SERVER_RESCAN_STARTING='SCANNING_WITH_CONTQ',
765
913
    SYS_META_QUEUE_WAITING='SCANNING_WITH_BOTHQ',
 
914
    SYS_META_QUEUE_DONE='SCANNING_WITH_CONTQ',
766
915
    SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_CONTQ',
 
916
    SYS_CONTENT_QUEUE_DONE='SCANNING',
767
917
    )
768
918
 
769
919
SCANNING_WITH_BOTHQ = NonActiveConnectedSDState(
770
920
    'SCANNING_WITH_BOTHQ',
771
921
    'doing server rescan, both request queues waiting',
772
922
    with_q='CONTQ',
773
 
    SYS_SERVER_RESCAN_DONE='START_WORKING_ON_METADATA_WITH_CONTENT_WAITING',
 
923
    SYS_SERVER_RESCAN_DONE='START_WORKING_ON_METADATA_WITH_CONTQ',
774
924
    SYS_SERVER_RESCAN_STARTING='SCANNING_WITH_BOTHQ',
 
925
    SYS_META_QUEUE_WAITING='SCANNING_WITH_BOTHQ',
 
926
    SYS_META_QUEUE_DONE='SCANNING_WITH_CONTQ',
775
927
    SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_BOTHQ',
 
928
    SYS_CONTENT_QUEUE_DONE='SCANNING_WITH_METAQ',
776
929
    )
777
930
 
778
931
IDLE = NonActiveConnectedSDState(
780
933
    'nothing on the wire right now',
781
934
    is_online=True,
782
935
    SYS_META_QUEUE_WAITING='START_WORKING_ON_METADATA',
 
936
    SYS_META_QUEUE_DONE='IDLE',
783
937
    SYS_CONTENT_QUEUE_WAITING='START_WORKING_ON_CONTENT',
 
938
    SYS_CONTENT_QUEUE_DONE='IDLE',
784
939
    )
785
940
 
786
941
START_WORKING_ON_METADATA = WorkingSDState(
788
943
    'start working on metadata',
789
944
    SYS_META_QUEUE_WAITING='WORKING_ON_METADATA',
790
945
    SYS_META_QUEUE_DONE='IDLE',
791
 
    SYS_CONTENT_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTENT_WAITING',
 
946
    SYS_CONTENT_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTQ',
 
947
    SYS_CONTENT_QUEUE_DONE='WORKING_ON_METADATA',
792
948
    enter=lambda m: m.action_q.meta_queue.run(),
793
949
    )
794
950
 
797
953
    'working on metadata',
798
954
    SYS_META_QUEUE_WAITING='WORKING_ON_METADATA',
799
955
    SYS_META_QUEUE_DONE='IDLE',
800
 
    SYS_CONTENT_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTENT_WAITING',
 
956
    SYS_CONTENT_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTQ',
 
957
    SYS_CONTENT_QUEUE_DONE='WORKING_ON_METADATA',
801
958
    )
802
959
 
803
960
START_WORKING_ON_CONTENT = WorkingSDState(
804
961
    'START_WORKING_ON_CONTENT',
805
962
    'start working on content',
806
963
    SYS_META_QUEUE_WAITING='START_WORKING_ON_BOTH',
 
964
    SYS_META_QUEUE_DONE='WORKING_ON_CONTENT',
807
965
    SYS_CONTENT_QUEUE_WAITING='WORKING_ON_CONTENT',
808
966
    SYS_CONTENT_QUEUE_DONE='IDLE',
809
967
    enter=lambda m: m.action_q.content_queue.run(),
813
971
    'WORKING_ON_CONTENT',
814
972
    'working on content',
815
973
    SYS_META_QUEUE_WAITING='START_WORKING_ON_BOTH',
 
974
    SYS_META_QUEUE_DONE='WORKING_ON_CONTENT',
816
975
    SYS_CONTENT_QUEUE_WAITING='WORKING_ON_CONTENT',
817
976
    SYS_CONTENT_QUEUE_DONE='IDLE',
818
977
    )
819
978
 
820
 
START_WORKING_ON_METADATA_WITH_CONTENT_WAITING = WorkingSDState(
821
 
    'START_WORKING_ON_METADATA_WITH_CONTENT_WAITING',
 
979
START_WORKING_ON_METADATA_WITH_CONTQ = WorkingSDState(
 
980
    'START_WORKING_ON_METADATA_WITH_CONTQ',
822
981
    'start working on metadata; content work is waiting also',
823
 
    SYS_META_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTENT_WAITING',
 
982
    with_q='CONTQ',
 
983
    SYS_META_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTQ',
824
984
    SYS_META_QUEUE_DONE='START_WORKING_ON_CONTENT',
825
 
    SYS_CONTENT_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTENT_WAITING',
 
985
    SYS_CONTENT_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTQ',
 
986
    SYS_CONTENT_QUEUE_DONE='WORKING_ON_METADATA',
826
987
    enter=lambda m: m.action_q.meta_queue.run(),
827
988
    )
828
989
 
829
 
WORKING_ON_METADATA_WITH_CONTENT_WAITING = WorkingSDState(
830
 
    'WORKING_ON_METADATA_WITH_CONTENT_WAITING',
 
990
WORKING_ON_METADATA_WITH_CONTQ = WorkingSDState(
 
991
    'WORKING_ON_METADATA_WITH_CONTQ',
831
992
    'working on metadata; content work is waiting',
832
 
    SYS_META_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTENT_WAITING',
 
993
    with_q='CONTQ',
 
994
    SYS_META_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTQ',
833
995
    SYS_META_QUEUE_DONE='START_WORKING_ON_CONTENT',
834
 
    SYS_CONTENT_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTENT_WAITING',
 
996
    SYS_CONTENT_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTQ',
 
997
    SYS_CONTENT_QUEUE_DONE='WORKING_ON_METADATA',
835
998
    )
836
999
 
837
1000
START_WORKING_ON_BOTH = WorkingSDState(
838
1001
    'START_WORKING_ON_BOTH',
839
1002
    'start working on both content and metadata',
 
1003
    with_q='BOTHQ',
840
1004
    SYS_META_QUEUE_WAITING='WORKING_ON_BOTH',
841
1005
    SYS_META_QUEUE_DONE='WORKING_ON_CONTENT',
842
1006
    SYS_CONTENT_QUEUE_WAITING='WORKING_ON_BOTH',
847
1011
WORKING_ON_BOTH = WorkingSDState(
848
1012
    'WORKING_ON_BOTH',
849
1013
    'working on both content and metadata',
 
1014
    with_q='BOTHQ',
850
1015
    SYS_META_QUEUE_WAITING='WORKING_ON_BOTH',
851
1016
    SYS_META_QUEUE_DONE='WORKING_ON_CONTENT',
852
1017
    SYS_CONTENT_QUEUE_WAITING='WORKING_ON_BOTH',
873
1038
    'CLEANUP_WITH_METAQ', 'CLEANUP_WITH_METAQ', 'CLEANUP_WITH_METAQ',
874
1039
    SYS_CLEANUP_STARTED='CLEANUP_WITH_METAQ',
875
1040
    SYS_CLEANUP_FINISHED='READY_FOR_NETWORK_WITH_METAQ',
 
1041
    SYS_META_QUEUE_WAITING='CLEANUP_WITH_METAQ',
 
1042
    SYS_META_QUEUE_DONE='CLEANUP',
876
1043
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_BOTHQ',
877
1044
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WITH_METAQ',
878
1045
    )
887
1054
    SYS_META_QUEUE_WAITING='CLEANUP_WITH_BOTHQ',
888
1055
    SYS_META_QUEUE_DONE='CLEANUP_WITH_CONTQ',
889
1056
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_CONTQ',
 
1057
    SYS_CONTENT_QUEUE_DONE='CLEANUP',
890
1058
    )
891
1059
 
892
1060
CLEANUP_WITH_BOTHQ = SyncDaemonState(
896
1064
    'CLEANUP_WITH_BOTHQ', 'CLEANUP_WITH_BOTHQ', 'CLEANUP_WITH_BOTHQ',
897
1065
    SYS_CLEANUP_STARTED='CLEANUP_WITH_BOTHQ',
898
1066
    SYS_CLEANUP_FINISHED='READY_FOR_NETWORK_WITH_BOTHQ',
 
1067
    SYS_META_QUEUE_WAITING='CLEANUP_WITH_BOTHQ',
 
1068
    SYS_META_QUEUE_DONE='CLEANUP_WITH_CONTQ',
899
1069
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_BOTHQ',
 
1070
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WITH_METAQ',
900
1071
    )
901
1072
 
902
1073
START_CLEANUP_WAITING = SyncDaemonState(
912
1083
    enter=lambda m: m.action_q.cleanup(),
913
1084
    )
914
1085
 
 
1086
START_CLEANUP_WAITING_WITH_CONTQ = SyncDaemonState(
 
1087
    'START_CLEANUP_WAITING_WITH_CONTQ',
 
1088
    'start doing cleanup (network dropped; contq waiting)',
 
1089
    'CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
 
1090
    'CLEANUP_WAITING_WITH_CONTQ',
 
1091
    'CLEANUP_WAITING_WITH_CONTQ', 'CLEANUP_WITH_CONTQ',
 
1092
    'CLEANUP_WAITING_WITH_CONTQ',
 
1093
    SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_CONTQ',
 
1094
    SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_BOTHQ',
 
1095
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_CONTQ',
 
1096
    SYS_META_QUEUE_DONE='CLEANUP_WAITING_WITH_CONTQ',
 
1097
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING',
 
1098
    enter=lambda m: m.action_q.cleanup(),
 
1099
    )
 
1100
 
 
1101
START_CLEANUP_WAITING_WITH_BOTHQ = SyncDaemonState(
 
1102
    'START_CLEANUP_WAITING_WITH_BOTHQ',
 
1103
    'start doing cleanup (network dropped; bothq waiting)',
 
1104
    'CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
1105
    'CLEANUP_WAITING_WITH_BOTHQ',
 
1106
    'CLEANUP_WAITING_WITH_BOTHQ', 'CLEANUP_WITH_BOTHQ',
 
1107
    'CLEANUP_WAITING_WITH_BOTHQ',
 
1108
    SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_BOTHQ',
 
1109
    SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_BOTHQ',
 
1110
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_BOTHQ',
 
1111
    SYS_META_QUEUE_DONE='CLEANUP_WAITING_WITH_CONTQ',
 
1112
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING_WITH_METAQ',
 
1113
    enter=lambda m: m.action_q.cleanup(),
 
1114
    )
 
1115
 
915
1116
CLEANUP_WAITING = SyncDaemonState(
916
1117
    'CLEANUP_WAITING',
917
1118
    'doing cleanup (network dropped)',
933
1134
    'CLEANUP_WAITING_WITH_METAQ',
934
1135
    SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_METAQ',
935
1136
    SYS_CLEANUP_FINISHED='READY_WAITING_WITH_METAQ',
 
1137
    SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_METAQ',
 
1138
    SYS_META_QUEUE_DONE='CLEANUP_WAITING',
936
1139
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_BOTHQ',
937
1140
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING_WITH_METAQ',
938
1141
    )
948
1151
    SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_BOTHQ',
949
1152
    SYS_META_QUEUE_DONE='CLEANUP_WAITING_WITH_CONTQ',
950
1153
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_CONTQ',
 
1154
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING',
951
1155
    )
952
1156
 
953
1157
CLEANUP_WAITING_WITH_BOTHQ = SyncDaemonState(
958
1162
    'CLEANUP_WAITING_WITH_BOTHQ',
959
1163
    SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_BOTHQ',
960
1164
    SYS_CLEANUP_FINISHED='READY_WAITING_WITH_BOTHQ',
 
1165
    SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_BOTHQ',
 
1166
    SYS_META_QUEUE_DONE='CLEANUP_WAITING_WITH_CONTQ',
961
1167
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_BOTHQ',
 
1168
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING_WITH_METAQ',
962
1169
    )
963
1170
 
964
1171
CLEANUP_WITH_NETWORK = SyncDaemonState(
983
1190
    'CLEANUP_WITH_NETWORK_WITH_METAQ',
984
1191
    SYS_CLEANUP_STARTED='CLEANUP_WITH_NETWORK_WITH_METAQ',
985
1192
    SYS_CLEANUP_FINISHED='READY_WITH_NETWORK_WITH_METAQ',
 
1193
    SYS_META_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_METAQ',
 
1194
    SYS_META_QUEUE_DONE='CLEANUP_WITH_NETWORK',
986
1195
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_BOTHQ',
987
1196
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WITH_NETWORK_WITH_METAQ',
988
1197
    )
999
1208
    SYS_META_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_BOTHQ',
1000
1209
    SYS_META_QUEUE_DONE='CLEANUP_WITH_NETWORK_WITH_CONTQ',
1001
1210
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_CONTQ',
 
1211
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WITH_NETWORK',
1002
1212
    )
1003
1213
 
1004
1214
CLEANUP_WITH_NETWORK_WITH_BOTHQ = SyncDaemonState(
1010
1220
    'CLEANUP_WITH_NETWORK_WITH_BOTHQ',
1011
1221
    SYS_CLEANUP_STARTED='CLEANUP_WITH_NETWORK_WITH_BOTHQ',
1012
1222
    SYS_CLEANUP_FINISHED='READY_WITH_NETWORK_WITH_BOTHQ',
 
1223
    SYS_META_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_BOTHQ',
 
1224
    SYS_META_QUEUE_DONE='CLEANUP_WITH_NETWORK_WITH_CONTQ',
1013
1225
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_BOTHQ',
 
1226
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WITH_NETWORK_WITH_METAQ',
1014
1227
    )
1015
1228
 
1016
1229
CLEANUP_WAITING_WITH_NETWORK = SyncDaemonState(
1028
1241
    )
1029
1242
 
1030
1243
START_CLEANUP_WAITING_WITH_NETWORK = SyncDaemonState(
1031
 
    'CLEANUP_WAITING_WITH_NETWORK',
 
1244
    'START_CLEANUP_WAITING_WITH_NETWORK',
1032
1245
    'doing cleanup (network hiccup)',
1033
1246
    'CLEANUP_WAITING_WITH_NETWORK', 'CLEANUP_WAITING_WITH_NETWORK',
1034
1247
    'CLEANUP_WAITING', 'CLEANUP_WITH_NETWORK', 'CLEANUP_WAITING_WITH_NETWORK',
1041
1254
    enter=lambda m: m.action_q.cleanup(),
1042
1255
    )
1043
1256
 
 
1257
START_CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ = SyncDaemonState(
 
1258
    'START_CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
 
1259
    'doing cleanup (network hiccup; cont_q waiting)',
 
1260
    'CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
 
1261
    'CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
 
1262
    'CLEANUP_WAITING_WITH_CONTQ',
 
1263
    'CLEANUP_WITH_NETWORK_WITH_CONTQ',
 
1264
    'CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
 
1265
    SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
 
1266
    SYS_CLEANUP_FINISHED='START_CONNECTING_WITH_CONTQ',
 
1267
    SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
1268
    SYS_META_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
 
1269
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
 
1270
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK',
 
1271
    enter=lambda m: m.action_q.cleanup(),
 
1272
    )
 
1273
 
 
1274
START_CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ = SyncDaemonState(
 
1275
    'START_CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
1276
    'doing cleanup (network hiccup; both _q\'s waiting)',
 
1277
    'CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
1278
    'CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
1279
    'CLEANUP_WAITING_WITH_BOTHQ',
 
1280
    'CLEANUP_WITH_NETWORK_WITH_BOTHQ',
 
1281
    'CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
1282
    SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
1283
    SYS_CLEANUP_FINISHED='START_CONNECTING_WITH_BOTHQ',
 
1284
    SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
1285
    SYS_META_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
 
1286
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
1287
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
 
1288
    enter=lambda m: m.action_q.cleanup(),
 
1289
    )
 
1290
 
1044
1291
CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ = SyncDaemonState(
1045
1292
    'CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
1046
1293
    'doing cleanup (network hiccup; meta_q waiting)',
1050
1297
    'CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
1051
1298
    SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
1052
1299
    SYS_CLEANUP_FINISHED='START_CONNECTING_WITH_METAQ',
 
1300
    SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
 
1301
    SYS_META_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK',
1053
1302
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
1054
1303
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
1055
1304
    )
1066
1315
    SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
1067
1316
    SYS_META_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
1068
1317
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
 
1318
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK',
1069
1319
    )
1070
1320
 
1071
1321
CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ = SyncDaemonState(
1077
1327
    'CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
1078
1328
    SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
1079
1329
    SYS_CLEANUP_FINISHED='START_CONNECTING_WITH_BOTHQ',
 
1330
    SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
1331
    SYS_META_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
1080
1332
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
1333
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
1081
1334
    )
1082
1335
 
1083
1336
 
1097
1350
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WITH_NETWORK',
1098
1351
    enter=lambda m: m.action_q.cleanup(),
1099
1352
    )
 
1353
 
 
1354
START_CONNECTED_CLEANUP_WITH_CONTQ = SyncDaemonState(
 
1355
    'START_CONNECTED_CLEANUP_WITH_CONTQ',
 
1356
    'start doing cleanup using the network'
 
1357
        ' (not yet implemented; actually starts a plain cleanup)',
 
1358
    'CLEANUP_WITH_NETWORK_WITH_CONTQ',
 
1359
    'CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
 
1360
    'CLEANUP_WITH_CONTQ', 'CLEANUP_WITH_NETWORK_WITH_CONTQ',
 
1361
    'CLEANUP_WITH_NETWORK_WITH_CONTQ',
 
1362
    SYS_CLEANUP_STARTED='CLEANUP_WITH_NETWORK_WITH_CONTQ',
 
1363
    SYS_CLEANUP_FINISHED='READY_WITH_NETWORK_WITH_CONTQ',
 
1364
    SYS_META_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_BOTHQ',
 
1365
    SYS_META_QUEUE_DONE='CLEANUP_WITH_NETWORK_WITH_CONTQ',
 
1366
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_CONTQ',
 
1367
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WITH_NETWORK',
 
1368
    enter=lambda m: m.action_q.cleanup(),
 
1369
    )
 
1370
 
 
1371
START_CONNECTED_CLEANUP_WITH_BOTHQ = SyncDaemonState(
 
1372
    'START_CONNECTED_CLEANUP_WITH_BOTHQ',
 
1373
    'start doing cleanup using the network'
 
1374
        ' (not yet implemented; actually starts a plain cleanup)',
 
1375
    'CLEANUP_WITH_NETWORK_WITH_BOTHQ',
 
1376
    'CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
 
1377
    'CLEANUP_WITH_BOTHQ', 'CLEANUP_WITH_NETWORK_WITH_BOTHQ',
 
1378
    'CLEANUP_WITH_NETWORK_WITH_BOTHQ',
 
1379
    SYS_CLEANUP_STARTED='CLEANUP_WITH_NETWORK_WITH_BOTHQ',
 
1380
    SYS_CLEANUP_FINISHED='READY_WITH_NETWORK_WITH_BOTHQ',
 
1381
    SYS_META_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_BOTHQ',
 
1382
    SYS_META_QUEUE_DONE='CLEANUP_WITH_NETWORK_WITH_CONTQ',
 
1383
    SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_BOTHQ',
 
1384
    SYS_CONTENT_QUEUE_DONE='CLEANUP_WITH_NETWORK_WITH_METAQ',
 
1385
    enter=lambda m: m.action_q.cleanup(),
 
1386
    )