SYMBOL INDEX (1608 symbols across 171 files) FILE: src/angular/e2e/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getParagraphText (line 8) | getParagraphText() { FILE: src/angular/protractor.conf.js method onPrepare (line 22) | onPrepare() { FILE: src/angular/src/app/app.module.ts class AppModule (line 123) | class AppModule { method constructor (line 124) | constructor(private logger: LoggerService) { function dummyFactory (line 130) | function dummyFactory(s) { FILE: src/angular/src/app/common/cached-reuse-strategy.ts class CachedReuseStrategy (line 9) | class CachedReuseStrategy implements RouteReuseStrategy { method shouldDetach (line 14) | shouldDetach(route: ActivatedRouteSnapshot): boolean { method store (line 18) | store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void { method shouldAttach (line 22) | shouldAttach(route: ActivatedRouteSnapshot): boolean { method retrieve (line 26) | retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle { method shouldReuseRoute (line 31) | shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteS... FILE: src/angular/src/app/common/capitalize.pipe.ts class CapitalizePipe (line 4) | class CapitalizePipe implements PipeTransform { method transform (line 6) | transform(value: any) { FILE: src/angular/src/app/common/click-stop-propagation.directive.ts class ClickStopPropagationDirective (line 6) | class ClickStopPropagationDirective { method onClick (line 8) | public onClick(event: any): void { FILE: src/angular/src/app/common/eta.pipe.ts class EtaPipe (line 7) | class EtaPipe implements PipeTransform { method transform (line 15) | transform(seconds: number = 0): string { FILE: src/angular/src/app/common/file-size.pipe.ts class FileSizePipe (line 15) | class FileSizePipe implements PipeTransform { method transform (line 26) | transform(bytes: number = 0, precision: number = 2 ): string { FILE: src/angular/src/app/common/localization.ts class Localization (line 1) | class Localization { FILE: src/angular/src/app/common/storage-keys.ts class StorageKeys (line 1) | class StorageKeys { FILE: src/angular/src/app/pages/about/about-page.component.ts class AboutPageComponent (line 13) | class AboutPageComponent { method constructor (line 17) | constructor() { FILE: src/angular/src/app/pages/autoqueue/autoqueue-page.component.ts class AutoQueuePageComponent (line 24) | class AutoQueuePageComponent implements OnInit { method constructor (line 37) | constructor(private _changeDetector: ChangeDetectorRef, method ngOnInit (line 51) | ngOnInit() { method onAddPattern (line 76) | onAddPattern() { method onRemovePattern (line 95) | onRemovePattern(pattern: AutoQueuePattern) { FILE: src/angular/src/app/pages/files/file-list.component.ts class FileListComponent (line 20) | class FileListComponent { method constructor (line 25) | constructor(private _logger: LoggerService, method identify (line 38) | static identify(index: number, item: ViewFile): string { method onSelect (line 42) | onSelect(file: ViewFile): void { method onQueue (line 50) | onQueue(file: ViewFile) { method onStop (line 56) | onStop(file: ViewFile) { method onExtract (line 62) | onExtract(file: ViewFile) { method onDeleteLocal (line 68) | onDeleteLocal(file: ViewFile) { method onDeleteRemote (line 74) | onDeleteRemote(file: ViewFile) { FILE: src/angular/src/app/pages/files/file-options.component.ts class FileOptionsComponent (line 20) | class FileOptionsComponent implements OnInit { method constructor (line 37) | constructor(private _changeDetector: ChangeDetectorRef, method ngOnInit (line 45) | ngOnInit() { method onFilterByName (line 73) | onFilterByName(name: string) { method onFilterByStatus (line 77) | onFilterByStatus(status: ViewFile.Status) { method onSort (line 81) | onSort(sortMethod: ViewFileOptions.SortMethod) { method onToggleShowDetails (line 85) | onToggleShowDetails(){ method onTogglePinFilter (line 89) | onTogglePinFilter() { method isStatusEnabled (line 93) | private static isStatusEnabled(files: Immutable.List, status... FILE: src/angular/src/app/pages/files/file.component.ts class FileComponent (line 20) | class FileComponent implements OnChanges { method constructor (line 45) | constructor(private modal: Modal) {} method ngOnChanges (line 47) | ngOnChanges(changes: SimpleChanges): void { method showDeleteConfirmation (line 62) | showDeleteConfirmation(title: string, message: string, callback: () =>... method isQueueable (line 82) | isQueueable() { method isStoppable (line 86) | isStoppable() { method isExtractable (line 90) | isExtractable() { method isLocallyDeletable (line 94) | isLocallyDeletable() { method isRemotelyDeletable (line 98) | isRemotelyDeletable() { method onQueue (line 102) | onQueue(file: ViewFile) { method onStop (line 108) | onStop(file: ViewFile) { method onExtract (line 114) | onExtract(file: ViewFile) { method onDeleteLocal (line 120) | onDeleteLocal(file: ViewFile) { method onDeleteRemote (line 132) | onDeleteRemote(file: ViewFile) { method isElementInViewport (line 145) | private static isElementInViewport (el) { type FileAction (line 156) | enum FileAction { FILE: src/angular/src/app/pages/files/files-page.component.ts class FilesPageComponent (line 8) | class FilesPageComponent { FILE: src/angular/src/app/pages/logs/logs-page.component.ts class LogsPageComponent (line 22) | class LogsPageComponent implements OnInit, AfterContentChecked { method constructor (line 42) | constructor(private _elementRef: ElementRef, method ngOnInit (line 50) | ngOnInit() { method ngAfterContentChecked (line 58) | ngAfterContentChecked() { method scrollToTop (line 63) | scrollToTop() { method scrollToBottom (line 68) | scrollToBottom() { method checkScroll (line 73) | checkScroll() { method insertRecord (line 77) | private insertRecord(record: LogRecord) { method refreshScrollButtonVisibility (line 90) | private refreshScrollButtonVisibility() { method isElementInViewport (line 101) | private static isElementInViewport(el): boolean { FILE: src/angular/src/app/pages/main/app.component.ts class AppComponent (line 13) | class AppComponent implements OnInit, AfterViewInit { method constructor (line 19) | constructor(private router: Router, method ngOnInit (line 30) | ngOnInit() { method ngAfterViewInit (line 40) | ngAfterViewInit() { FILE: src/angular/src/app/pages/main/header.component.ts class HeaderComponent (line 19) | class HeaderComponent implements OnInit { method constructor (line 31) | constructor(private _logger: LoggerService, method dismiss (line 40) | public dismiss(notif: Notification) { method ngOnInit (line 44) | ngOnInit() { FILE: src/angular/src/app/pages/main/sidebar.component.ts class SidebarComponent (line 15) | class SidebarComponent implements OnInit { method constructor (line 22) | constructor(private _logger: LoggerService, method ngOnInit (line 30) | ngOnInit() { method onCommandRestart (line 38) | onCommandRestart() { FILE: src/angular/src/app/pages/settings/option.component.ts class OptionComponent (line 12) | class OptionComponent implements OnInit { method ngOnInit (line 28) | ngOnInit(): void { method onChange (line 39) | onChange(value: any) { type OptionType (line 44) | enum OptionType { FILE: src/angular/src/app/pages/settings/options-list.ts type IOption (line 3) | interface IOption { type IOptionsContext (line 9) | interface IOptionsContext { constant OPTIONS_CONTEXT_SERVER (line 15) | const OPTIONS_CONTEXT_SERVER: IOptionsContext = { constant OPTIONS_CONTEXT_DISCOVERY (line 70) | const OPTIONS_CONTEXT_DISCOVERY: IOptionsContext = { constant OPTIONS_CONTEXT_CONNECTIONS (line 95) | const OPTIONS_CONTEXT_CONNECTIONS: IOptionsContext = { constant OPTIONS_CONTEXT_OTHER (line 143) | const OPTIONS_CONTEXT_OTHER: IOptionsContext = { constant OPTIONS_CONTEXT_AUTOQUEUE (line 162) | const OPTIONS_CONTEXT_AUTOQUEUE: IOptionsContext = { constant OPTIONS_CONTEXT_EXTRACT (line 187) | const OPTIONS_CONTEXT_EXTRACT: IOptionsContext = { FILE: src/angular/src/app/pages/settings/settings-page.component.ts class SettingsPageComponent (line 26) | class SettingsPageComponent implements OnInit { method constructor (line 43) | constructor(private _logger: LoggerService, method ngOnInit (line 59) | ngOnInit() { method onSetConfig (line 73) | onSetConfig(section: string, option: string, value: any) { method onCommandRestart (line 107) | onCommandRestart() { FILE: src/angular/src/app/routes.ts type RouteInfo (line 11) | interface RouteInfo { constant ROUTE_INFOS (line 18) | const ROUTE_INFOS: Immutable.List = Immutable.List([ constant ROUTES (line 51) | const ROUTES: Routes = [ FILE: src/angular/src/app/services/autoqueue/autoqueue-pattern.ts type IAutoQueuePattern (line 3) | interface IAutoQueuePattern { class AutoQueuePattern (line 12) | class AutoQueuePattern extends AutoQueuePatternRecord implements IAutoQu... method constructor (line 15) | constructor(props) { type AutoQueuePatternJson (line 24) | interface AutoQueuePatternJson { FILE: src/angular/src/app/services/autoqueue/autoqueue.service.ts class AutoQueueService (line 19) | class AutoQueueService extends BaseWebService { method constructor (line 28) | constructor(_streamServiceProvider: StreamServiceRegistry, method patterns (line 38) | get patterns(): Observable> { method add (line 47) | public add(pattern: string): Observable { method remove (line 91) | public remove(pattern: string): Observable { method onConnected (line 120) | protected onConnected() { method onDisconnected (line 125) | protected onDisconnected() { method getPatterns (line 130) | private getPatterns() { FILE: src/angular/src/app/services/base/base-stream.service.ts method constructor (line 21) | constructor() {} method getEventNames (line 23) | getEventNames(): string[] { method notifyConnected (line 27) | notifyConnected() { method notifyDisconnected (line 31) | notifyDisconnected() { method notifyEvent (line 35) | notifyEvent(eventName: string, data: string) { method registerEventName (line 39) | protected registerEventName(eventName: string) { FILE: src/angular/src/app/services/base/base-web.service.ts method onInit (line 20) | public onInit() { method constructor (line 32) | constructor(_streamServiceProvider: StreamServiceRegistry) { FILE: src/angular/src/app/services/base/stream-service.registry.ts class EventSourceFactory (line 12) | class EventSourceFactory { method createEventSource (line 13) | static createEventSource(url: string) { type IStreamService (line 19) | interface IStreamService { class StreamDispatchService (line 51) | class StreamDispatchService { method constructor (line 59) | constructor(private _logger: LoggerService, method onInit (line 66) | public onInit() { method registerService (line 75) | public registerService(service: IStreamService) { method createSseObserver (line 83) | private createSseObserver() { class StreamServiceRegistry (line 146) | class StreamServiceRegistry { method constructor (line 148) | constructor(private _dispatch: StreamDispatchService, method onInit (line 163) | public onInit() { method modelFileService (line 167) | get modelFileService(): ModelFileService { return this._modelFileServi... method serverStatusService (line 168) | get serverStatusService(): ServerStatusService { return this._serverSt... method connectedService (line 169) | get connectedService(): ConnectedService { return this._connectedServi... method logService (line 170) | get logService(): LogService { return this._logService; } FILE: src/angular/src/app/services/files/mock-model-files.ts constant MOCK_MODEL_FILES (line 5) | const MOCK_MODEL_FILES: Immutable.Map = Immutable.Map({ FILE: src/angular/src/app/services/files/model-file.service.ts class ModelFileService (line 24) | class ModelFileService extends BaseStreamService { method constructor (line 33) | constructor(private _logger: LoggerService, method files (line 42) | get files(): Observable> { method queue (line 51) | public queue(file: ModelFile): Observable { method stop (line 64) | public stop(file: ModelFile): Observable { method extract (line 77) | public extract(file: ModelFile): Observable { method deleteLocal (line 90) | public deleteLocal(file: ModelFile): Observable { method deleteRemote (line 103) | public deleteRemote(file: ModelFile): Observable { method onEvent (line 111) | protected onEvent(eventName: string, data: string) { method onConnected (line 115) | protected onConnected() { method onDisconnected (line 119) | protected onDisconnected() { method parseEvent (line 129) | private parseEvent(name: string, data: string) { FILE: src/angular/src/app/services/files/model-file.ts type IModelFile (line 7) | interface IModelFile { class ModelFile (line 49) | class ModelFile extends ModelFileRecord implements IModelFile { method constructor (line 65) | constructor(props) { function fromJson (line 72) | function fromJson(json): ModelFile { type State (line 100) | enum State { FILE: src/angular/src/app/services/files/screenshot-model-files.ts constant SCREENSHOT_MODEL_FILES (line 5) | const SCREENSHOT_MODEL_FILES: Immutable.Map = Immutab... FILE: src/angular/src/app/services/files/view-file-filter.service.ts class AndFilterCriteria (line 9) | class AndFilterCriteria implements ViewFileFilterCriteria { method constructor (line 10) | constructor(private a: ViewFileFilterCriteria, method meetsCriteria (line 14) | meetsCriteria(viewFile: ViewFile): boolean { class StatusFilterCriteria (line 19) | class StatusFilterCriteria implements ViewFileFilterCriteria { method constructor (line 20) | constructor(private _status: ViewFile.Status) {} method status (line 22) | get status(): ViewFile.Status { method meetsCriteria (line 26) | meetsCriteria(viewFile: ViewFile): boolean { class NameFilterCriteria (line 31) | class NameFilterCriteria implements ViewFileFilterCriteria { method name (line 35) | get name(): string { method constructor (line 39) | constructor(name: string) { method meetsCriteria (line 52) | meetsCriteria(viewFile: ViewFile): boolean { class ViewFileFilterService (line 71) | class ViewFileFilterService { method constructor (line 75) | constructor(private _logger: LoggerService, method buildFilterCriteria (line 104) | private buildFilterCriteria(): ViewFileFilterCriteria { FILE: src/angular/src/app/services/files/view-file-options.service.ts class ViewFileOptionsService (line 20) | class ViewFileOptionsService { method constructor (line 24) | constructor(private _logger: LoggerService, method options (line 46) | get options(): Observable { method setShowDetails (line 50) | public setShowDetails(show: boolean) { method setSortMethod (line 60) | public setSortMethod(sortMethod: ViewFileOptions.SortMethod) { method setSelectedStatusFilter (line 70) | public setSelectedStatusFilter(status: ViewFile.Status) { method setNameFilter (line 79) | public setNameFilter(name: string) { method setPinFilter (line 88) | public setPinFilter(pinned: boolean) { FILE: src/angular/src/app/services/files/view-file-options.ts type IViewFileOptions (line 9) | interface IViewFileOptions { class ViewFileOptions (line 41) | class ViewFileOptions extends ViewFileOptionsRecord implements IViewFile... method constructor (line 48) | constructor(props) { type SortMethod (line 54) | enum SortMethod { FILE: src/angular/src/app/services/files/view-file-sort.service.ts class ViewFileSortService (line 70) | class ViewFileSortService { method constructor (line 73) | constructor(private _logger: LoggerService, FILE: src/angular/src/app/services/files/view-file.service.ts type ViewFileFilterCriteria (line 19) | interface ViewFileFilterCriteria { type ViewFileComparator (line 27) | interface ViewFileComparator { class ViewFileService (line 72) | class ViewFileService { method constructor (line 88) | constructor(private _logger: LoggerService, method buildViewFromModelFiles (line 108) | private buildViewFromModelFiles(modelFiles: Immutable.Map> { method filteredFiles (line 193) | get filteredFiles(): Observable> { method setSelected (line 201) | public setSelected(file: ViewFile) { method unsetSelected (line 239) | public unsetSelected() { method queue (line 262) | public queue(file: ViewFile): Observable { method stop (line 272) | public stop(file: ViewFile): Observable { method extract (line 282) | public extract(file: ViewFile): Observable { method deleteLocal (line 292) | public deleteLocal(file: ViewFile): Observable { method deleteRemote (line 302) | public deleteRemote(file: ViewFile): Observable { method setFilterCriteria (line 311) | public setFilterCriteria(criteria: ViewFileFilterCriteria) { method setComparator (line 320) | public setComparator(comparator: ViewFileComparator) { method createViewFile (line 338) | private static createViewFile(modelFile: ModelFile, isSelected: boolea... method createAction (line 445) | private createAction(file: ViewFile, method pushViewFiles (line 463) | private pushViewFiles() { FILE: src/angular/src/app/services/files/view-file.ts type IViewFile (line 7) | interface IViewFile { class ViewFile (line 60) | class ViewFile extends ViewFileRecord implements IViewFile { method constructor (line 83) | constructor(props) { type Status (line 89) | enum Status { FILE: src/angular/src/app/services/logs/log-record.ts type ILogRecord (line 7) | interface ILogRecord { class LogRecord (line 22) | class LogRecord extends LogRecordRecord implements ILogRecord { method constructor (line 29) | constructor(props) { function fromJson (line 36) | function fromJson(json: LogRecordJson): LogRecord { type Level (line 47) | enum Level { type LogRecordJson (line 61) | interface LogRecordJson { FILE: src/angular/src/app/services/logs/log.service.ts class LogService (line 10) | class LogService extends BaseStreamService { method constructor (line 14) | constructor() { method logs (line 23) | get logs(): Observable { method onEvent (line 27) | protected onEvent(eventName: string, data: string) { method onConnected (line 31) | protected onConnected() { method onDisconnected (line 35) | protected onDisconnected() { FILE: src/angular/src/app/services/server/server-command.service.ts class ServerCommandService (line 13) | class ServerCommandService extends BaseWebService { method constructor (line 16) | constructor(_streamServiceProvider: StreamServiceRegistry, method restart (line 25) | public restart(): Observable { method onConnected (line 29) | protected onConnected() { method onDisconnected (line 33) | protected onDisconnected() { FILE: src/angular/src/app/services/server/server-status.service.ts class ServerStatusService (line 11) | class ServerStatusService extends BaseStreamService { method constructor (line 21) | constructor() { method status (line 26) | get status(): Observable { method onEvent (line 30) | protected onEvent(eventName: string, data: string) { method onConnected (line 34) | protected onConnected() { method onDisconnected (line 38) | protected onDisconnected() { method parseStatus (line 52) | private parseStatus(data: string) { FILE: src/angular/src/app/services/server/server-status.ts type IServerStatus (line 6) | interface IServerStatus { class ServerStatus (line 32) | class ServerStatus extends ServerStatusRecord implements IServerStatus { method constructor (line 45) | constructor(props) { function fromJson (line 52) | function fromJson(json: ServerStatusJson): ServerStatus { type ServerStatusJson (line 84) | interface ServerStatusJson { FILE: src/angular/src/app/services/settings/config.service.ts class ConfigService (line 17) | class ConfigService extends BaseWebService { method constructor (line 26) | constructor(_streamServiceProvider: StreamServiceRegistry, method config (line 36) | get config(): Observable { method set (line 47) | public set(section: string, option: string, value: any): Observable { method onEvent (line 29) | protected onEvent(eventName: string, data: string) { method onConnected (line 33) | protected onConnected() { method onDisconnected (line 39) | protected onDisconnected() { FILE: src/angular/src/app/services/utils/dom.service.ts class DomService (line 11) | class DomService { method headerHeight (line 14) | get headerHeight(): Observable{ method setHeaderHeight (line 18) | public setHeaderHeight(height: number) { FILE: src/angular/src/app/services/utils/logger.service.ts class LoggerService (line 4) | class LoggerService { method constructor (line 8) | constructor() { method debug (line 12) | get debug() { method info (line 20) | get info() { method warn (line 29) | get warn() { method error (line 37) | get error() { type Level (line 47) | enum Level { FILE: src/angular/src/app/services/utils/notification.service.ts class NotificationService (line 14) | class NotificationService { method constructor (line 38) | constructor() {} method notifications (line 40) | get notifications(): Observable> { method show (line 44) | public show(notification: Notification) { method hide (line 53) | public hide(notification: Notification) { FILE: src/angular/src/app/services/utils/notification.ts type INotification (line 3) | interface INotification { class Notification (line 18) | class Notification extends NotificationRecord implements INotification { method constructor (line 24) | constructor(props) { type Level (line 33) | enum Level { FILE: src/angular/src/app/services/utils/rest.service.ts class WebReaction (line 12) | class WebReaction { method constructor (line 17) | constructor(success: boolean, data: string, errorMessage: string) { class RestService (line 29) | class RestService { method constructor (line 31) | constructor(private _logger: LoggerService, method sendRequest (line 40) | public sendRequest(url: string): Observable { FILE: src/angular/src/app/services/utils/version-check.service.ts class VersionCheckService (line 20) | class VersionCheckService { method constructor (line 24) | constructor(private _restService: RestService, method checkVersion (line 30) | private checkVersion() { method isVersionNewer (line 62) | private static isVersionNewer(version: string): boolean { FILE: src/angular/src/app/tests/mocks/mock-event-source.ts class MockEventSource (line 3) | class MockEventSource { method constructor (line 10) | constructor(url: string) { method addEventListener (line 14) | addEventListener(type: string, listener: EventListener) { method close (line 18) | close() {} function createMockEventSource (line 21) | function createMockEventSource(url: string): MockEventSource { FILE: src/angular/src/app/tests/mocks/mock-model-file.service.ts class MockModelFileService (line 9) | class MockModelFileService { method files (line 13) | get files(): Observable> { FILE: src/angular/src/app/tests/mocks/mock-rest.service.ts class MockRestService (line 5) | class MockRestService { method sendRequest (line 6) | public sendRequest(url: string): Observable { FILE: src/angular/src/app/tests/mocks/mock-storage.service.ts class MockStorageService (line 1) | class MockStorageService { method get (line 3) | public get(key: string): any {} method set (line 6) | set(key: string, value: any): void {} method remove (line 9) | remove(key: string): void {} FILE: src/angular/src/app/tests/mocks/mock-stream-service.registry.ts class MockStreamServiceRegistry (line 7) | class MockStreamServiceRegistry { method connect (line 14) | connect() { method disconnect (line 18) | disconnect() { FILE: src/angular/src/app/tests/mocks/mock-view-file-options.service.ts class MockViewFileOptionsService (line 7) | class MockViewFileOptionsService { method options (line 11) | get options(): Observable { FILE: src/angular/src/app/tests/mocks/mock-view-file.service.ts class MockViewFileService (line 10) | class MockViewFileService { method files (line 15) | get files(): Observable> { method filteredFiles (line 19) | get filteredFiles(): Observable> { method setFilterCriteria (line 24) | public setFilterCriteria(criteria: ViewFileFilterCriteria) {} method setComparator (line 27) | public setComparator(comparator: ViewFileComparator) {} FILE: src/angular/src/app/tests/unittests/services/base/base-stream.service.spec.ts class TestBaseStreamService (line 12) | class TestBaseStreamService extends BaseStreamService { method registerEventName (line 15) | public registerEventName(eventName: string) { method onEvent (line 19) | protected onEvent(eventName: string, data: string) { method onConnected (line 24) | public onConnected() {} method onDisconnected (line 26) | public onDisconnected() {} FILE: src/angular/src/app/tests/unittests/services/base/base-web.service.spec.ts class TestBaseWebService (line 14) | class TestBaseWebService extends BaseWebService { method onConnected (line 15) | public onConnected(): void {} method onDisconnected (line 17) | public onDisconnected(): void {} FILE: src/angular/src/app/tests/unittests/services/base/stream-service.registry.spec.ts class MockStreamService (line 12) | class MockStreamService implements IStreamService { method getEventNames (line 16) | getEventNames(): string[] { method notifyConnected (line 20) | notifyConnected() { method notifyDisconnected (line 24) | notifyDisconnected() { method notifyEvent (line 28) | notifyEvent(eventName: string, data: string) { FILE: src/angular/src/app/tests/unittests/services/files/view-file-options.service.spec.ts function createViewOptionsService (line 12) | function createViewOptionsService(): ViewFileOptionsService { FILE: src/angular/src/app/tests/unittests/services/files/view-file.service.spec.ts class TestCriteria (line 711) | class TestCriteria implements ViewFileFilterCriteria { method meetsCriteria (line 712) | meetsCriteria(viewFile: ViewFile): boolean { method constructor (line 754) | constructor(public flag: boolean) {} method meetsCriteria (line 755) | meetsCriteria(viewFile: ViewFile): boolean { class TestCriteria (line 753) | class TestCriteria implements ViewFileFilterCriteria { method meetsCriteria (line 712) | meetsCriteria(viewFile: ViewFile): boolean { method constructor (line 754) | constructor(public flag: boolean) {} method meetsCriteria (line 755) | meetsCriteria(viewFile: ViewFile): boolean { FILE: src/angular/src/app/tests/unittests/services/utils/notification.service.spec.ts class TestNotificationService (line 9) | class TestNotificationService extends NotificationService { function sleepFor (line 139) | function sleepFor( sleepDuration ) { function sleepFor (line 171) | function sleepFor( sleepDuration ) { FILE: src/angular/src/app/tests/unittests/services/utils/version-check.service.spec.ts function createVersionCheckService (line 40) | function createVersionCheckService(): VersionCheckService { FILE: src/angular/src/typings.d.ts type NodeModule (line 4) | interface NodeModule { FILE: src/docker/test/e2e/urls.ts class Urls (line 1) | class Urls { FILE: src/e2e/tests/about.page.ts class AboutPage (line 8) | class AboutPage extends App { method navigateTo (line 9) | navigateTo() { method getVersion (line 13) | getVersion(): Promise { FILE: src/e2e/tests/app.ts class App (line 7) | class App { method navigateTo (line 8) | navigateTo() { method getTitle (line 12) | getTitle(): Promise { method getSidebarItems (line 16) | getSidebarItems(): Promise> { method getTopTitle (line 22) | getTopTitle(): Promise { FILE: src/e2e/tests/autoqueue.page.ts class AutoQueuePage (line 8) | class AutoQueuePage extends App { method navigateTo (line 9) | navigateTo() { method getPatterns (line 13) | getPatterns(): Promise> { method addPattern (line 19) | addPattern(pattern: string) { method removePattern (line 26) | removePattern(index: number) { FILE: src/e2e/tests/dashboard.page.ts class File (line 8) | class File { method constructor (line 9) | constructor(public name, class FileActionButtonState (line 15) | class FileActionButtonState { method constructor (line 16) | constructor(public title, class DashboardPage (line 21) | class DashboardPage extends App { method navigateTo (line 22) | navigateTo() { method getFiles (line 31) | getFiles(): Promise> { method selectFile (line 51) | selectFile(index: number) { method isFileActionsVisible (line 55) | isFileActionsVisible(index: number) { method getFileActions (line 60) | getFileActions(index: number): Promise> { FILE: src/e2e/tests/settings.page.ts class SettingsPage (line 8) | class SettingsPage extends App { method navigateTo (line 9) | navigateTo() { FILE: src/e2e/urls.ts class Urls (line 1) | class Urls { FILE: src/python/common/app_process.py class ExceptionWrapper (line 20) | class ExceptionWrapper: method __init__ (line 25) | def __init__(self, ee): method re_raise (line 29) | def re_raise(self): class AppProcess (line 33) | class AppProcess(Process): method __init__ (line 45) | def __init__(self, name: str): method set_multiprocessing_logger (line 54) | def set_multiprocessing_logger(self, mp_logger: MultiprocessingLogger): method run (line 58) | def run(self): method terminate (line 101) | def terminate(self): method propagate_exception (line 117) | def propagate_exception(self): method run_init (line 129) | def run_init(self): method run_cleanup (line 137) | def run_cleanup(self): method run_loop (line 145) | def run_loop(self): class AppOneShotProcess (line 156) | class AppOneShotProcess(AppProcess): method run_loop (line 160) | def run_loop(self): method run_cleanup (line 164) | def run_cleanup(self): method run_init (line 167) | def run_init(self): method run_once (line 171) | def run_once(self): FILE: src/python/common/config.py class ConfigError (line 16) | class ConfigError(AppError): class Converters (line 31) | class Converters: method null (line 33) | def null(_: T, __: str, value: str) -> str: method int (line 37) | def int(cls: T, name: str, value: str) -> int: method bool (line 51) | def bool(cls: T, name: str, value: str) -> bool: class Checkers (line 65) | class Checkers: method null (line 67) | def null(_: T, __: str, value: Any) -> Any: method string_nonempty (line 71) | def string_nonempty(cls: T, name: str, value: str) -> str: method int_non_negative (line 79) | def int_non_negative(cls: T, name: str, value: int) -> int: method int_positive (line 87) | def int_positive(cls: T, name: str, value: int) -> int: class InnerConfig (line 95) | class InnerConfig(ABC): class PropMetadata (line 107) | class PropMetadata: method __init__ (line 109) | def __init__(self, checker: Callable, converter: Callable): method _create_property (line 118) | def _create_property(cls, name: str, checker: Callable, converter: Cal... method _get_property (line 126) | def _get_property(self, name: str) -> Any: method _set_property (line 129) | def _set_property(self, name: str, value: Any, checker: Callable): method from_dict (line 137) | def from_dict(cls: Type[T], config_dict: InnerConfigType) -> T: method as_dict (line 164) | def as_dict(self) -> InnerConfigType: method has_property (line 181) | def has_property(self, name: str) -> bool: method set_property (line 192) | def set_property(self, name: str, value: Any): class Config (line 215) | class Config(Persist): class General (line 219) | class General(IC): method __init__ (line 223) | def __init__(self): class Lftp (line 228) | class Lftp(IC): method __init__ (line 250) | def __init__(self): class Controller (line 267) | class Controller(IC): method __init__ (line 274) | def __init__(self): class Web (line 282) | class Web(InnerConfig): method __init__ (line 285) | def __init__(self): class AutoQueue (line 289) | class AutoQueue(InnerConfig): method __init__ (line 294) | def __init__(self): method __init__ (line 300) | def __init__(self): method _check_section (line 308) | def _check_section(dct: OuterConfigType, name: str) -> InnerConfigType: method _check_empty_outer_dict (line 316) | def _check_empty_outer_dict(dct: OuterConfigType): method from_str (line 323) | def from_str(cls: "Config", content: str) -> "Config": method to_str (line 342) | def to_str(self) -> str: method from_dict (line 355) | def from_dict(config_dict: OuterConfigType) -> "Config": method as_dict (line 368) | def as_dict(self) -> OuterConfigType: method has_section (line 379) | def has_section(self, name: str) -> bool: FILE: src/python/common/constants.py class Constants (line 4) | class Constants: FILE: src/python/common/context.py class Args (line 12) | class Args: method __init__ (line 18) | def __init__(self): method as_dict (line 24) | def as_dict(self) -> dict: class Context (line 33) | class Context: method __init__ (line 37) | def __init__(self, method create_child_context (line 53) | def create_child_context(self, context_name: str) -> "Context": method print_to_log (line 58) | def print_to_log(self): FILE: src/python/common/error.py class AppError (line 4) | class AppError(Exception): class ServiceExit (line 11) | class ServiceExit(AppError): class ServiceRestart (line 19) | class ServiceRestart(AppError): FILE: src/python/common/job.py class Job (line 13) | class Job(threading.Thread, ABC): method __init__ (line 19) | def __init__(self, name: str, context: Context): method run (line 32) | def run(self): method terminate (line 61) | def terminate(self): method propagate_exception (line 68) | def propagate_exception(self): method setup (line 80) | def setup(self): method execute (line 88) | def execute(self): method cleanup (line 98) | def cleanup(self): FILE: src/python/common/localization.py class Localization (line 4) | class Localization: class Error (line 5) | class Error: FILE: src/python/common/multiprocessing_logger.py class MultiprocessingLogger (line 12) | class MultiprocessingLogger: method __init__ (line 25) | def __init__(self, base_logger: logging.Logger): method start (line 34) | def start(self): method stop (line 37) | def stop(self): method propagate_exception (line 41) | def propagate_exception(self): method get_process_safe_logger (line 52) | def get_process_safe_logger(self) -> logging.Logger: method __listener (line 72) | def __listener(self): FILE: src/python/common/persist.py class Serializable (line 16) | class Serializable(ABC): method from_str (line 23) | def from_str(cls: Type[T_Serializable], content: str) -> T_Serializable: method to_str (line 27) | def to_str(self) -> str: class PersistError (line 31) | class PersistError(AppError): class Persist (line 38) | class Persist(Serializable): method from_file (line 46) | def from_file(cls: Type[T_Persist], file_path: str) -> T_Persist: method to_file (line 52) | def to_file(self, file_path: str): method from_str (line 58) | def from_str(cls: Type[T_Persist], content: str) -> T_Persist: method to_str (line 62) | def to_str(self) -> str: FILE: src/python/common/status.py class IStatusComponentListener (line 13) | class IStatusComponentListener(ABC): method notify (line 15) | def notify(self, name: str): class BaseStatus (line 24) | class BaseStatus: method _create_property (line 31) | def _create_property(cls, name: str) -> property: method _get_property (line 35) | def _get_property(self, name: str) -> Any: method _set_property (line 38) | def _set_property(self, name: str, value: Any): class StatusComponent (line 42) | class StatusComponent(BaseStatus): method __init__ (line 47) | def __init__(self): method add_listener (line 51) | def add_listener(self, listener: IStatusComponentListener): method remove_listener (line 55) | def remove_listener(self, listener: IStatusComponentListener): method copy (line 60) | def copy(cls: Type[T], src: T, dst: T) -> None: method _set_property (line 66) | def _set_property(self, name: str, value: Any): class IStatusListener (line 73) | class IStatusListener(ABC): method notify (line 75) | def notify(self): class Status (line 83) | class Status(BaseStatus): class CompListener (line 94) | class CompListener(IStatusComponentListener): method __init__ (line 96) | def __init__(self, status: "Status"): method notify (line 99) | def notify(self, name: str): class ServerStatus (line 106) | class ServerStatus(StatusComponent): method __init__ (line 110) | def __init__(self): class ControllerStatus (line 115) | class ControllerStatus(StatusComponent): method __init__ (line 121) | def __init__(self): method __init__ (line 134) | def __init__(self): method copy (line 143) | def copy(self) -> "Status": method add_listener (line 153) | def add_listener(self, listener: IStatusListener): method remove_listener (line 159) | def remove_listener(self, listener: IStatusListener): method __create_component (line 165) | def __create_component(self, comp_cls: Type[T]) -> T: method _set_property (line 174) | def _set_property(self, name: str, value: Any): FILE: src/python/common/types.py function overrides (line 6) | def overrides(interface_class): FILE: src/python/controller/auto_queue.py class AutoQueuePattern (line 13) | class AutoQueuePattern(Serializable): method __init__ (line 17) | def __init__(self, pattern: str): method pattern (line 21) | def pattern(self) -> str: method __eq__ (line 24) | def __eq__(self, other: "AutoQueuePattern") -> bool: method __hash__ (line 27) | def __hash__(self) -> int: method to_str (line 30) | def to_str(self) -> str: method from_str (line 36) | def from_str(cls, content: str) -> "AutoQueuePattern": class IAutoQueuePersistListener (line 41) | class IAutoQueuePersistListener(ABC): method pattern_added (line 45) | def pattern_added(self, pattern: AutoQueuePattern): method pattern_removed (line 49) | def pattern_removed(self, pattern: AutoQueuePattern): class AutoQueuePersist (line 53) | class AutoQueuePersist(Persist): method __init__ (line 61) | def __init__(self): method patterns (line 66) | def patterns(self) -> Set[AutoQueuePattern]: method add_pattern (line 69) | def add_pattern(self, pattern: AutoQueuePattern): method remove_pattern (line 79) | def remove_pattern(self, pattern: AutoQueuePattern): method add_listener (line 85) | def add_listener(self, listener: IAutoQueuePersistListener): method from_str (line 90) | def from_str(cls: "AutoQueuePersist", content: str) -> "AutoQueuePersi... method to_str (line 104) | def to_str(self) -> str: class AutoQueueModelListener (line 110) | class AutoQueueModelListener(IModelListener): method __init__ (line 112) | def __init__(self): method file_added (line 117) | def file_added(self, file: ModelFile): method file_updated (line 121) | def file_updated(self, old_file: ModelFile, new_file: ModelFile): method file_removed (line 125) | def file_removed(self, file: ModelFile): class AutoQueuePersistListener (line 129) | class AutoQueuePersistListener(IAutoQueuePersistListener): method __init__ (line 131) | def __init__(self): method pattern_added (line 135) | def pattern_added(self, pattern: AutoQueuePattern): method pattern_removed (line 139) | def pattern_removed(self, pattern: AutoQueuePattern): class AutoQueue (line 144) | class AutoQueue: method __init__ (line 151) | def __init__(self, method process (line 177) | def process(self): method __filter_candidates (line 259) | def __filter_candidates(self, method __match (line 297) | def __match(pattern: AutoQueuePattern, file: ModelFile) -> bool: FILE: src/python/controller/controller.py class ControllerError (line 21) | class ControllerError(AppError): class Controller (line 28) | class Controller: class Command (line 32) | class Command: class Action (line 39) | class Action(Enum): class ICallback (line 46) | class ICallback(ABC): method on_success (line 49) | def on_success(self): method on_failure (line 54) | def on_failure(self, error: str): method __init__ (line 58) | def __init__(self, action: Action, filename: str): method add_callback (line 63) | def add_callback(self, callback: ICallback): class CommandProcessWrapper (line 66) | class CommandProcessWrapper: method __init__ (line 70) | def __init__(self, process: AppOneShotProcess, post_callback: Callab... method __init__ (line 74) | def __init__(self, method start (line 177) | def start(self): method process (line 191) | def process(self): method exit (line 204) | def exit(self): method get_model_files (line 220) | def get_model_files(self) -> List[ModelFile]: method add_model_listener (line 232) | def add_model_listener(self, listener: IModelListener): method remove_model_listener (line 244) | def remove_model_listener(self, listener: IModelListener): method get_model_files_and_add_listener (line 256) | def get_model_files_and_add_listener(self, listener: IModelListener): method queue_command (line 277) | def queue_command(self, command: Command): method __get_model_files (line 280) | def __get_model_files(self) -> List[ModelFile]: method __update_model (line 286) | def __update_model(self): method __process_commands (line 403) | def __process_commands(self): method __propagate_exceptions (line 518) | def __propagate_exceptions(self): method __cleanup_commands (line 530) | def __cleanup_commands(self): FILE: src/python/controller/controller_job.py class ControllerJob (line 10) | class ControllerJob(Job): method __init__ (line 15) | def __init__(self, method setup (line 24) | def setup(self): method execute (line 28) | def execute(self): method cleanup (line 33) | def cleanup(self): FILE: src/python/controller/controller_persist.py class ControllerPersist (line 8) | class ControllerPersist(Persist): method __init__ (line 17) | def __init__(self): method from_str (line 23) | def from_str(cls: "ControllerPersist", content: str) -> "ControllerPer... method to_str (line 36) | def to_str(self) -> str: FILE: src/python/controller/delete/delete_process.py class DeleteLocalProcess (line 11) | class DeleteLocalProcess(AppOneShotProcess): method __init__ (line 12) | def __init__(self, local_path: str, file_name: str): method run_once (line 17) | def run_once(self): class DeleteRemoteProcess (line 29) | class DeleteRemoteProcess(AppOneShotProcess): method __init__ (line 30) | def __init__(self, method run_once (line 45) | def run_once(self): FILE: src/python/controller/extract/dispatch.py class ExtractDispatchError (line 18) | class ExtractDispatchError(AppError): class ExtractListener (line 22) | class ExtractListener(ABC): method extract_completed (line 24) | def extract_completed(self, name: str, is_dir: bool): method extract_failed (line 28) | def extract_failed(self, name: str, is_dir: bool): class ExtractStatus (line 32) | class ExtractStatus: class State (line 37) | class State(Enum): method __init__ (line 40) | def __init__(self, name: str, is_dir: bool, state: State): method name (line 46) | def name(self) -> str: return self.__name method is_dir (line 49) | def is_dir(self) -> bool: return self.__is_dir method state (line 52) | def state(self) -> State: return self.__state method __eq__ (line 54) | def __eq__(self, other): class ExtractDispatch (line 58) | class ExtractDispatch: class _Task (line 62) | class _Task: method __init__ (line 63) | def __init__(self, root_name: str, root_is_dir: bool): method add_archive (line 68) | def add_archive(self, archive_path: str, out_dir_path: str): method __init__ (line 71) | def __init__(self, out_dir_path: str, local_path: str): method set_base_logger (line 85) | def set_base_logger(self, base_logger: logging.Logger): method start (line 88) | def start(self): method stop (line 91) | def stop(self): method add_listener (line 95) | def add_listener(self, listener: ExtractListener): method status (line 100) | def status(self) -> List[ExtractStatus]: method extract (line 110) | def extract(self, model_file: ModelFile): method __worker (line 159) | def __worker(self): method __coalesce_extractions (line 207) | def __coalesce_extractions(task: _Task): FILE: src/python/controller/extract/extract.py class ExtractError (line 11) | class ExtractError(AppError): class Extract (line 18) | class Extract: method is_archive (line 23) | def is_archive(archive_path: str) -> bool: method is_archive_fast (line 34) | def is_archive_fast(archive_path: str) -> bool: method extract_archive (line 58) | def extract_archive(archive_path: str, out_dir_path: str): FILE: src/python/controller/extract/extract_process.py class ExtractStatusResult (line 15) | class ExtractStatusResult: method __init__ (line 16) | def __init__(self, timestamp: datetime, statuses: List[ExtractStatus]): class ExtractCompletedResult (line 21) | class ExtractCompletedResult: method __init__ (line 22) | def __init__(self, timestamp: datetime, name: str, is_dir: bool): class ExtractProcess (line 28) | class ExtractProcess(AppProcess): class __ExtractListener (line 31) | class __ExtractListener(ExtractListener): method __init__ (line 32) | def __init__(self, logger: logging.Logger, completed_queue: multipro... method extract_completed (line 36) | def extract_completed(self, name: str, is_dir: bool): method extract_failed (line 43) | def extract_failed(self, name: str, is_dir: bool): method __init__ (line 46) | def __init__(self, out_dir_path: str, local_path: str): method run_init (line 56) | def run_init(self): method run_cleanup (line 72) | def run_cleanup(self): method run_loop (line 76) | def run_loop(self): method extract (line 96) | def extract(self, file: ModelFile): method pop_latest_statuses (line 104) | def pop_latest_statuses(self) -> Optional[ExtractStatusResult]: method pop_completed (line 119) | def pop_completed(self) -> List[ExtractCompletedResult]: FILE: src/python/controller/model_builder.py class ModelBuilder (line 15) | class ModelBuilder: method __init__ (line 24) | def __init__(self): method set_base_logger (line 34) | def set_base_logger(self, base_logger: logging.Logger): method set_active_files (line 37) | def set_active_files(self, active_files: List[SystemFile]): method set_local_files (line 45) | def set_local_files(self, local_files: List[SystemFile]): method set_remote_files (line 52) | def set_remote_files(self, remote_files: List[SystemFile]): method set_lftp_statuses (line 59) | def set_lftp_statuses(self, lftp_statuses: List[LftpJobStatus]): method set_downloaded_files (line 66) | def set_downloaded_files(self, downloaded_files: Set[str]): method set_extract_statuses (line 73) | def set_extract_statuses(self, extract_statuses: List[ExtractStatus]): method set_extracted_files (line 80) | def set_extracted_files(self, extracted_files: Set[str]): method clear (line 87) | def clear(self): method has_changes (line 96) | def has_changes(self) -> bool: method build_model (line 103) | def build_model(self) -> Model: FILE: src/python/controller/scan/active_scanner.py class ActiveScanner (line 13) | class ActiveScanner(IScanner): method __init__ (line 20) | def __init__(self, local_path: str): method set_base_logger (line 27) | def set_base_logger(self, base_logger: logging.Logger): method set_active_files (line 30) | def set_active_files(self, file_names: List[str]): method scan (line 39) | def scan(self) -> List[SystemFile]: FILE: src/python/controller/scan/local_scanner.py class LocalScanner (line 11) | class LocalScanner(IScanner): method __init__ (line 15) | def __init__(self, local_path: str, use_temp_file: bool): method set_base_logger (line 22) | def set_base_logger(self, base_logger: logging.Logger): method scan (line 26) | def scan(self) -> List[SystemFile]: FILE: src/python/controller/scan/remote_scanner.py class RemoteScanner (line 16) | class RemoteScanner(IScanner): method __init__ (line 20) | def __init__(self, method set_base_logger (line 44) | def set_base_logger(self, base_logger: logging.Logger): method scan (line 49) | def scan(self) -> List[SystemFile]: method _install_scanfs (line 85) | def _install_scanfs(self): FILE: src/python/controller/scan/scanner_process.py class ScannerError (line 14) | class ScannerError(AppError): method __init__ (line 21) | def __init__(self, message: str, recoverable: bool = False): class IScanner (line 26) | class IScanner(ABC): method scan (line 32) | def scan(self) -> List[SystemFile]: method set_base_logger (line 37) | def set_base_logger(self, base_logger: logging.Logger): class ScannerResult (line 41) | class ScannerResult: method __init__ (line 45) | def __init__(self, class ScannerProcess (line 56) | class ScannerProcess(AppProcess): method __init__ (line 60) | def __init__(self, method run_init (line 76) | def run_init(self): method run_cleanup (line 81) | def run_cleanup(self): method run_loop (line 85) | def run_loop(self): method pop_latest_result (line 113) | def pop_latest_result(self) -> Optional[ScannerResult]: method force_scan (line 128) | def force_scan(self): FILE: src/python/lftp/job_status.py class LftpJobStatus (line 8) | class LftpJobStatus: class Type (line 12) | class Type(Enum): class State (line 16) | class State(Enum): class TransferState (line 20) | class TransferState(namedtuple("TransferState", method __init__ (line 36) | def __init__(self, job_id: int, job_type: Type, state: State, name: st... method id (line 48) | def id(self) -> int: return self.__id method type (line 51) | def type(self) -> Type: return self.__type method state (line 54) | def state(self) -> "LftpJobStatus.State": return self.__state method name (line 57) | def name(self) -> str: return self.__name method total_transfer_state (line 60) | def total_transfer_state(self) -> TransferState: method total_transfer_state (line 64) | def total_transfer_state(self, total_transfer_state: TransferState): method add_active_file_transfer_state (line 69) | def add_active_file_transfer_state(self, filename: str, transfer_state... method get_active_file_transfer_states (line 74) | def get_active_file_transfer_states(self) -> List[Tuple[str, TransferS... method __eq__ (line 81) | def __eq__(self, other): method __str__ (line 84) | def __str__(self): method __repr__ (line 87) | def __repr__(self): FILE: src/python/lftp/job_status_parser.py class LftpJobStatusParserError (line 12) | class LftpJobStatusParserError(AppError): class LftpJobStatusParser (line 16) | class LftpJobStatusParser: method __init__ (line 32) | def __init__(self): method set_base_logger (line 35) | def set_base_logger(self, base_logger: logging.Logger): method _size_to_bytes (line 39) | def _size_to_bytes(size: str) -> int: method _eta_to_seconds (line 59) | def _eta_to_seconds(eta: str) -> int: method parse (line 76) | def parse(self, output: str) -> List[LftpJobStatus]: method __parse_jobs (line 98) | def __parse_jobs(lines: List[str]) -> List[LftpJobStatus]: method __parse_queue (line 476) | def __parse_queue(lines: List[str]) -> List[LftpJobStatus]: FILE: src/python/lftp/lftp.py class LftpError (line 20) | class LftpError(AppError): class Lftp (line 27) | class Lftp: method __init__ (line 45) | def __init__(self, method set_verbose_logging (line 73) | def set_verbose_logging(self, verbose: bool): method __setup (line 76) | def __setup(self): method with_check_process (line 86) | def with_check_process(method: Callable): method set_base_logger (line 100) | def set_base_logger(self, base_logger: logging.Logger): method set_base_remote_dir_path (line 104) | def set_base_remote_dir_path(self, base_remote_dir_path: str): method set_base_local_dir_path (line 107) | def set_base_local_dir_path(self, base_local_dir_path: str): method raise_pending_error (line 110) | def raise_pending_error(self): method __run_command (line 123) | def __run_command(self, command: str): method __detect_errors_from_output (line 166) | def __detect_errors_from_output(out: str) -> bool: method __set (line 178) | def __set(self, setting: str, value: str): method __get (line 187) | def __get(self, setting: str) -> str: method __to_bool (line 200) | def __to_bool(value: str) -> bool: method num_connections_per_dir_file (line 210) | def num_connections_per_dir_file(self) -> int: method num_connections_per_dir_file (line 214) | def num_connections_per_dir_file(self, num_connections: int): method num_connections_per_root_file (line 220) | def num_connections_per_root_file(self) -> int: method num_connections_per_root_file (line 224) | def num_connections_per_root_file(self, num_connections: int): method num_max_total_connections (line 230) | def num_max_total_connections(self) -> int: method num_max_total_connections (line 234) | def num_max_total_connections(self, num_connections: int): method num_parallel_files (line 240) | def num_parallel_files(self) -> int: method num_parallel_files (line 244) | def num_parallel_files(self, num_parallel_files: int): method rate_limit (line 250) | def rate_limit(self) -> str: method rate_limit (line 254) | def rate_limit(self, rate_limit: Union[int, str]): method min_chunk_size (line 258) | def min_chunk_size(self) -> str: method min_chunk_size (line 262) | def min_chunk_size(self, min_chunk_size: Union[int, str]): method num_parallel_jobs (line 266) | def num_parallel_jobs(self) -> int: method num_parallel_jobs (line 270) | def num_parallel_jobs(self, num_parallel_jobs: int): method move_background_on_exit (line 276) | def move_background_on_exit(self) -> bool: method move_background_on_exit (line 280) | def move_background_on_exit(self, move_background_on_exit: bool): method use_temp_file (line 284) | def use_temp_file(self) -> bool: method use_temp_file (line 288) | def use_temp_file(self, use_temp_file: bool): method temp_file_name (line 292) | def temp_file_name(self) -> str: method temp_file_name (line 296) | def temp_file_name(self, temp_file_name: str): method sftp_auto_confirm (line 300) | def sftp_auto_confirm(self) -> bool: method sftp_auto_confirm (line 304) | def sftp_auto_confirm(self, auto_confirm: bool): method sftp_connect_program (line 308) | def sftp_connect_program(self) -> str: method sftp_connect_program (line 312) | def sftp_connect_program(self, program: str): method status (line 315) | def status(self) -> List[LftpJobStatus]: method queue (line 333) | def queue(self, name: str, is_dir: bool): method kill (line 360) | def kill(self, name: str) -> bool: method kill_all (line 388) | def kill_all(self): method exit (line 397) | def exit(self): FILE: src/python/model/diff.py class ModelDiff (line 12) | class ModelDiff: class Change (line 16) | class Change(Enum): method __init__ (line 21) | def __init__(self, change: Change, old_file: Optional[ModelFile], new_... method __eq__ (line 26) | def __eq__(self, other): method __repr__ (line 29) | def __repr__(self): method change (line 33) | def change(self) -> Change: method old_file (line 37) | def old_file(self) -> Optional[ModelFile]: method new_file (line 41) | def new_file(self) -> Optional[ModelFile]: class ModelDiffUtil (line 45) | class ModelDiffUtil: method diff_models (line 47) | def diff_models(model_before: Model, model_after: Model) -> List[Model... FILE: src/python/model/file.py class ModelFile (line 10) | class ModelFile: class State (line 19) | class State(Enum): method __init__ (line 28) | def __init__(self, name: str, is_dir: bool): method __eq__ (line 48) | def __eq__(self, other): method __repr__ (line 82) | def __repr__(self): method name (line 86) | def name(self) -> str: return self.__name method is_dir (line 89) | def is_dir(self) -> bool: return self.__is_dir method state (line 92) | def state(self) -> State: return self.__state method state (line 95) | def state(self, state: State): method remote_size (line 101) | def remote_size(self) -> Optional[int]: return self.__remote_size method remote_size (line 104) | def remote_size(self, remote_size: Optional[int]): method local_size (line 115) | def local_size(self) -> Optional[int]: return self.__local_size method local_size (line 118) | def local_size(self, local_size: Optional[int]): method transferred_size (line 129) | def transferred_size(self) -> Optional[int]: return self.__transferred... method transferred_size (line 132) | def transferred_size(self, transferred_size: Optional[int]): method downloading_speed (line 143) | def downloading_speed(self) -> Optional[int]: return self.__downloadin... method downloading_speed (line 146) | def downloading_speed(self, downloading_speed: Optional[int]): method update_timestamp (line 157) | def update_timestamp(self) -> datetime: return self.__update_timestamp method update_timestamp (line 160) | def update_timestamp(self, update_timestamp: datetime): method eta (line 166) | def eta(self) -> Optional[int]: return self.__eta method eta (line 169) | def eta(self, eta: Optional[int]): method is_extractable (line 180) | def is_extractable(self) -> bool: return self.__is_extractable method is_extractable (line 183) | def is_extractable(self, is_extractable: bool): method local_created_timestamp (line 187) | def local_created_timestamp(self) -> datetime: return self.__local_cre... method local_created_timestamp (line 190) | def local_created_timestamp(self, local_created_timestamp: datetime): method local_modified_timestamp (line 196) | def local_modified_timestamp(self) -> datetime: return self.__local_mo... method local_modified_timestamp (line 199) | def local_modified_timestamp(self, local_modified_timestamp: datetime): method remote_created_timestamp (line 205) | def remote_created_timestamp(self) -> datetime: return self.__remote_c... method remote_created_timestamp (line 208) | def remote_created_timestamp(self, remote_created_timestamp: datetime): method remote_modified_timestamp (line 214) | def remote_modified_timestamp(self) -> datetime: return self.__remote_... method remote_modified_timestamp (line 217) | def remote_modified_timestamp(self, remote_modified_timestamp: datetime): method full_path (line 223) | def full_path(self) -> str: method add_child (line 229) | def add_child(self, child_file: "ModelFile"): method get_children (line 239) | def get_children(self) -> List["ModelFile"]: method parent (line 243) | def parent(self) -> Optional["ModelFile"]: FILE: src/python/model/model.py class ModelError (line 12) | class ModelError(AppError): class IModelListener (line 19) | class IModelListener(ABC): method file_added (line 24) | def file_added(self, file: ModelFile): method file_removed (line 33) | def file_removed(self, file: ModelFile): method file_updated (line 42) | def file_updated(self, old_file: ModelFile, new_file: ModelFile): class Model (line 52) | class Model: method __init__ (line 56) | def __init__(self): method set_base_logger (line 61) | def set_base_logger(self, base_logger: logging.Logger): method add_listener (line 64) | def add_listener(self, listener: IModelListener): method remove_listener (line 74) | def remove_listener(self, listener: IModelListener): method add_file (line 86) | def add_file(self, file: ModelFile): method remove_file (line 99) | def remove_file(self, filename: str): method update_file (line 113) | def update_file(self, file: ModelFile): method get_file (line 128) | def get_file(self, name: str) -> ModelFile: method get_file_names (line 138) | def get_file_names(self) -> Set[str]: FILE: src/python/scan_fs.py function print_file (line 31) | def print_file(file: SystemFile, level: int): FILE: src/python/seedsync.py class Seedsync (line 26) | class Seedsync: method __init__ (line 39) | def __init__(self): method run (line 107) | def run(self): method persist (line 207) | def persist(self): method signal (line 214) | def signal(self, signum: int, _): method _parse_args (line 221) | def _parse_args(args): method _create_logger (line 254) | def _create_logger(name: str, debug: bool, logdir: Optional[str]) -> l... method _create_default_config (line 281) | def _create_default_config() -> Config: method _detect_incomplete_config (line 321) | def _detect_incomplete_config(config: Config) -> bool: method _load_persist (line 330) | def _load_persist(cls: Type[T_Persist], file_path: str) -> T_Persist: method __backup_file (line 356) | def __backup_file(file_path: str): FILE: src/python/ssh/sshcp.py class SshcpError (line 12) | class SshcpError(AppError): class Sshcp (line 19) | class Sshcp: method __init__ (line 25) | def __init__(self, method set_base_logger (line 38) | def set_base_logger(self, base_logger: logging.Logger): method __run_command (line 41) | def __run_command(self, method shell (line 142) | def shell(self, command: str) -> bytes: method copy (line 175) | def copy(self, local_path: str, remote_path: str): FILE: src/python/system/file.py class SystemFile (line 7) | class SystemFile: method __init__ (line 11) | def __init__(self, method __eq__ (line 26) | def __eq__(self, other): method __repr__ (line 29) | def __repr__(self): method name (line 33) | def name(self) -> str: return self.__name method size (line 36) | def size(self) -> int: return self.__size method is_dir (line 39) | def is_dir(self) -> bool: return self.__is_dir method timestamp_created (line 42) | def timestamp_created(self) -> datetime: return self.__timestamp_created method timestamp_modified (line 45) | def timestamp_modified(self) -> datetime: return self.__timestamp_modi... method children (line 48) | def children(self) -> List["SystemFile"]: return self.__children method add_child (line 50) | def add_child(self, file: "SystemFile"): FILE: src/python/system/scanner.py class SystemScannerError (line 13) | class SystemScannerError(AppError): class PseudoDirEntry (line 20) | class PseudoDirEntry: method __init__ (line 21) | def __init__(self, name: str, path: str, is_dir: bool, stat): method is_dir (line 27) | def is_dir(self): method stat (line 30) | def stat(self): class SystemScanner (line 34) | class SystemScanner: method __init__ (line 41) | def __init__(self, path_to_scan: str): method add_exclude_prefix (line 50) | def add_exclude_prefix(self, prefix: str): method add_exclude_suffix (line 58) | def add_exclude_suffix(self, suffix: str): method set_lftp_temp_suffix (line 66) | def set_lftp_temp_suffix(self, suffix: str): method scan (line 75) | def scan(self) -> List[SystemFile]: method scan_single (line 86) | def scan_single(self, name: str) -> SystemFile: method __create_system_file (line 113) | def __create_system_file(self, entry) -> SystemFile: method __create_children (line 171) | def __create_children(self, path: str) -> List[SystemFile]: method _lftp_status_file_size (line 195) | def _lftp_status_file_size(status: str) -> int: FILE: src/python/tests/integration/test_controller/test_controller.py class DummyListener (line 24) | class DummyListener(IModelListener): method file_added (line 26) | def file_added(self, file: ModelFile): method file_updated (line 30) | def file_updated(self, old_file: ModelFile, new_file: ModelFile): method file_removed (line 34) | def file_removed(self, file: ModelFile): class DummyCommandCallback (line 38) | class DummyCommandCallback(Controller.Command.ICallback): method on_failure (line 40) | def on_failure(self, error: str): method on_success (line 44) | def on_success(self): class TestController (line 49) | class TestController(unittest.TestCase): method my_mkdir (line 57) | def my_mkdir(*args): method my_touch (line 61) | def my_touch(size, *args): method create_archive (line 67) | def create_archive(*args): method setUp (line 102) | def setUp(self): method tearDown (line 361) | def tearDown(self): method __wait_for_initial_model (line 370) | def __wait_for_initial_model(self): method test_bad_config_doesnot_raise_ctor_exception (line 375) | def test_bad_config_doesnot_raise_ctor_exception(self): method test_bad_config_remote_address_raises_exception (line 388) | def test_bad_config_remote_address_raises_exception(self): method test_bad_config_remote_username_raises_exception (line 403) | def test_bad_config_remote_username_raises_exception(self): method test_bad_config_remote_path_raises_exception (line 418) | def test_bad_config_remote_path_raises_exception(self): method test_bad_config_local_path_raises_exception (line 433) | def test_bad_config_local_path_raises_exception(self): method test_bad_config_remote_path_to_scan_script_raises_exception (line 445) | def test_bad_config_remote_path_to_scan_script_raises_exception(self): method test_bad_remote_password_raises_exception (line 462) | def test_bad_remote_password_raises_exception(self): method test_initial_model (line 478) | def test_initial_model(self): method test_local_file_added (line 494) | def test_local_file_added(self): method test_local_file_updated (line 531) | def test_local_file_updated(self): method test_local_file_removed (line 570) | def test_local_file_removed(self): method test_remote_file_added (line 607) | def test_remote_file_added(self): method test_remote_file_updated (line 637) | def test_remote_file_updated(self): method test_remote_file_removed (line 669) | def test_remote_file_removed(self): method test_command_queue_directory (line 699) | def test_command_queue_directory(self): method test_command_queue_file (line 744) | def test_command_queue_file(self): method test_command_queue_invalid (line 787) | def test_command_queue_invalid(self): method test_command_queue_local_directory (line 825) | def test_command_queue_local_directory(self): method test_command_queue_local_file (line 862) | def test_command_queue_local_file(self): method test_command_stop_directory (line 899) | def test_command_stop_directory(self): method test_command_stop_file (line 963) | def test_command_stop_file(self): method test_command_stop_default (line 1027) | def test_command_stop_default(self): method test_command_stop_queued (line 1067) | def test_command_stop_queued(self): method test_command_stop_wrong (line 1139) | def test_command_stop_wrong(self): method test_command_stop_invalid (line 1199) | def test_command_stop_invalid(self): method test_command_extract_after_downloading_remote_file (line 1258) | def test_command_extract_after_downloading_remote_file(self): method test_command_extract_after_downloading_remote_directory (line 1317) | def test_command_extract_after_downloading_remote_directory(self): method test_command_extract_after_downloading_remote_directory_multilevel (line 1376) | def test_command_extract_after_downloading_remote_directory_multilevel... method test_command_extract_local_directory (line 1439) | def test_command_extract_local_directory(self): method test_command_reextract_after_extracting_remote_file (line 1481) | def test_command_reextract_after_extracting_remote_file(self): method test_command_extract_remote_only_fails (line 1562) | def test_command_extract_remote_only_fails(self): method test_command_extract_after_downloading_remote_directory_to_separate_path (line 1606) | def test_command_extract_after_downloading_remote_directory_to_separat... method test_command_redownload_after_deleting_extracted_file (line 1670) | def test_command_redownload_after_deleting_extracted_file(self): method test_config_num_max_parallel_downloads (line 1771) | def test_config_num_max_parallel_downloads(self): method test_downloading_scan (line 1825) | def test_downloading_scan(self): method test_persist_downloaded (line 1876) | def test_persist_downloaded(self): method test_redownload_deleted_file (line 1918) | def test_redownload_deleted_file(self): method test_command_delete_local_file (line 1973) | def test_command_delete_local_file(self): method test_command_delete_local_dir (line 2013) | def test_command_delete_local_dir(self): method test_command_delete_remote_dir (line 2053) | def test_command_delete_remote_dir(self): method test_command_delete_local_fails_on_remote_file (line 2093) | def test_command_delete_local_fails_on_remote_file(self): method test_command_delete_remote_fails_on_local_file (line 2135) | def test_command_delete_remote_fails_on_local_file(self): method test_command_delete_remote_forces_immediate_rescan (line 2177) | def test_command_delete_remote_forces_immediate_rescan(self): method test_command_delete_local_forces_immediate_rescan (line 2222) | def test_command_delete_local_forces_immediate_rescan(self): method test_download_with_excessive_connections (line 2268) | def test_download_with_excessive_connections(self): method test_password_auth (line 2385) | def test_password_auth(self): FILE: src/python/tests/integration/test_controller/test_extract/test_extract.py class TestExtract (line 14) | class TestExtract(unittest.TestCase): method setUpClass (line 30) | def setUpClass(cls): method tearDownClass (line 77) | def tearDownClass(cls): method setUp (line 83) | def setUp(self): method tearDown (line 88) | def tearDown(self): method _assert_extracted_files (line 92) | def _assert_extracted_files(self, dir_path): method test_is_archive_fast (line 98) | def test_is_archive_fast(self): method test_is_archive_fast_works_with_full_paths (line 113) | def test_is_archive_fast_works_with_full_paths(self): method test_is_archive_false_on_nonexisting_file (line 118) | def test_is_archive_false_on_nonexisting_file(self): method test_is_archive_false_on_dir (line 121) | def test_is_archive_false_on_dir(self): method test_is_archive_false_on_bad_archive (line 127) | def test_is_archive_false_on_bad_archive(self): method test_is_archive_zip (line 134) | def test_is_archive_zip(self): method test_is_archive_rar (line 137) | def test_is_archive_rar(self): method test_is_archive_rar_split (line 140) | def test_is_archive_rar_split(self): method test_is_archive_tar_gz (line 144) | def test_is_archive_tar_gz(self): method test_extract_archive_fails_on_nonexisting_file (line 147) | def test_extract_archive_fails_on_nonexisting_file(self): method test_extract_archive_fails_on_dir (line 153) | def test_extract_archive_fails_on_dir(self): method test_extract_archive_fails_on_bad_file (line 159) | def test_extract_archive_fails_on_bad_file(self): method test_extract_archive_creates_sub_directories (line 169) | def test_extract_archive_creates_sub_directories(self): method test_extract_archive_zip (line 175) | def test_extract_archive_zip(self): method test_extract_archive_overwrites_existing (line 180) | def test_extract_archive_overwrites_existing(self): method test_extract_archive_rar (line 188) | def test_extract_archive_rar(self): method test_extract_archive_rar_split (line 193) | def test_extract_archive_rar_split(self): method test_extract_archive_tar_gz (line 198) | def test_extract_archive_tar_gz(self): FILE: src/python/tests/integration/test_lftp/test_lftp.py class TestLftp (line 17) | class TestLftp(unittest.TestCase): method setUpClass (line 21) | def setUpClass(cls): method tearDownClass (line 29) | def tearDownClass(cls): method setUp (line 33) | def setUp(self): method tearDown (line 52) | def tearDown(self): method my_mkdir (line 58) | def my_mkdir(self, *args): method my_touch (line 62) | def my_touch(self, size: int, *args): method assert_local_equals_remote (line 67) | def assert_local_equals_remote(self): method test_download_1 (line 75) | def test_download_1(self): method test_download_2 (line 99) | def test_download_2(self): method test_download_3 (line 123) | def test_download_3(self): method test_download_4 (line 147) | def test_download_4(self): FILE: src/python/tests/integration/test_web/test_handler/test_auto_queue.py class TestAutoQueueHandler (line 10) | class TestAutoQueueHandler(BaseTestWebApp): method test_get (line 11) | def test_get(self): method test_get_is_ordered (line 27) | def test_get_is_ordered(self): method test_add_good (line 45) | def test_add_good(self): method test_add_double (line 75) | def test_add_double(self): method test_add_empty_value (line 82) | def test_add_empty_value(self): method test_remove_good (line 92) | def test_remove_good(self): method test_remove_non_existing (line 128) | def test_remove_non_existing(self): method test_remove_empty_value (line 133) | def test_remove_empty_value(self): FILE: src/python/tests/integration/test_web/test_handler/test_config.py class TestConfigHandler (line 9) | class TestConfigHandler(BaseTestWebApp): method test_get (line 10) | def test_get(self): method test_set_good (line 23) | def test_set_good(self): method test_set_missing_section (line 45) | def test_set_missing_section(self): method test_set_missing_option (line 52) | def test_set_missing_option(self): method test_set_bad_value (line 59) | def test_set_bad_value(self): method test_set_empty_value (line 74) | def test_set_empty_value(self): FILE: src/python/tests/integration/test_web/test_handler/test_controller.py class TestControllerHandler (line 10) | class TestControllerHandler(BaseTestWebApp): method test_queue (line 11) | def test_queue(self): method test_stop (line 46) | def test_stop(self): method test_extract (line 81) | def test_extract(self): method test_delete_local (line 116) | def test_delete_local(self): method test_delete_remote (line 151) | def test_delete_remote(self): FILE: src/python/tests/integration/test_web/test_handler/test_server.py class TestServerHandler (line 6) | class TestServerHandler(BaseTestWebApp): method test_restart (line 7) | def test_restart(self): FILE: src/python/tests/integration/test_web/test_handler/test_status.py class TestStatusHandler (line 8) | class TestStatusHandler(BaseTestWebApp): method test_status (line 9) | def test_status(self): FILE: src/python/tests/integration/test_web/test_handler/test_stream_log.py class TestLogStreamHandler (line 10) | class TestLogStreamHandler(BaseTestWebApp): method test_stream_log_serializes_record (line 12) | def test_stream_log_serializes_record(self, mock_serialize_log_record_... FILE: src/python/tests/integration/test_web/test_handler/test_stream_model.py class TestModelStreamHandler (line 12) | class TestModelStreamHandler(BaseTestWebApp): method test_stream_model_fetches_model_and_adds_listener (line 13) | def test_stream_model_fetches_model_and_adds_listener(self): method test_stream_model_removes_listener (line 20) | def test_stream_model_removes_listener(self): method test_stream_model_serializes_initial_model (line 28) | def test_stream_model_serializes_initial_model(self, mock_serialize_mo... method test_stream_model_serializes_updates (line 43) | def test_stream_model_serializes_updates(self, mock_serialize_model_cls): FILE: src/python/tests/integration/test_web/test_handler/test_stream_status.py class TestStatusStreamHandler (line 9) | class TestStatusStreamHandler(BaseTestWebApp): method test_stream_status_serializes_initial_status (line 11) | def test_stream_status_serializes_initial_status(self, mock_serialize_... method test_stream_status_serializes_new_status (line 27) | def test_stream_status_serializes_new_status(self, mock_serialize_stat... FILE: src/python/tests/integration/test_web/test_web_app.py class BaseTestWebApp (line 15) | class BaseTestWebApp(unittest.TestCase): method setUp (line 21) | def setUp(self): class TestWebApp (line 63) | class TestWebApp(BaseTestWebApp): method test_process (line 64) | def test_process(self): FILE: src/python/tests/unittests/test_common/test_app_process.py class DummyException (line 15) | class DummyException(Exception): class DummyProcess (line 19) | class DummyProcess(AppProcess): method __init__ (line 20) | def __init__(self, fail: bool): method run_loop (line 28) | def run_loop(self): method run_init (line 34) | def run_init(self): method run_cleanup (line 38) | def run_cleanup(self): class LongRunningProcess (line 43) | class LongRunningProcess(AppProcess): method __init__ (line 44) | def __init__(self): method run_init (line 47) | def run_init(self): method run_loop (line 50) | def run_loop(self): method run_cleanup (line 54) | def run_cleanup(self): class LongRunningThreadProcess (line 58) | class LongRunningThreadProcess(AppProcess): method __init__ (line 59) | def __init__(self): method run_init (line 63) | def run_init(self): method run_loop (line 66) | def run_loop(self): method run_cleanup (line 69) | def run_cleanup(self): method long_task (line 73) | def long_task(self): class DummyOneShotProcess (line 79) | class DummyOneShotProcess(AppOneShotProcess): method __init__ (line 80) | def __init__(self): method run_once (line 84) | def run_once(self): class OneShotLongRunningProcess (line 88) | class OneShotLongRunningProcess(AppOneShotProcess): method __init__ (line 89) | def __init__(self): method run_once (line 92) | def run_once(self): class TestAppProcess (line 97) | class TestAppProcess(unittest.TestCase): method setUp (line 98) | def setUp(self): method tearDown (line 110) | def tearDown(self): method test_exception_propagates (line 115) | def test_exception_propagates(self): method test_process_terminates (line 123) | def test_process_terminates(self): method test_init_called_before_loop (line 131) | def test_init_called_before_loop(self): method test_cleanup_called_after_loop (line 140) | def test_cleanup_called_after_loop(self): method test_long_running_process_is_force_terminated (line 152) | def test_long_running_process_is_force_terminated(self): method test_process_with_long_running_thread_terminates_properly (line 161) | def test_process_with_long_running_thread_terminates_properly(self): class TestAppOneShotProcess (line 170) | class TestAppOneShotProcess(unittest.TestCase): method setUp (line 171) | def setUp(self): method tearDown (line 183) | def tearDown(self): method test_run_once_called_once (line 188) | def test_run_once_called_once(self): method test_long_running_process_is_force_terminated (line 195) | def test_long_running_process_is_force_terminated(self): FILE: src/python/tests/unittests/test_common/test_config.py class TestConverters (line 11) | class TestConverters(unittest.TestCase): method test_int (line 12) | def test_int(self): method test_bool (line 28) | def test_bool(self): class DummyInnerConfig (line 48) | class DummyInnerConfig(InnerConfig): method __init__ (line 53) | def __init__(self): class DummyInnerConfig2 (line 59) | class DummyInnerConfig2(InnerConfig): method __init__ (line 63) | def __init__(self): class TestInnerConfig (line 68) | class TestInnerConfig(unittest.TestCase): method test_property_order (line 69) | def test_property_order(self): method test_has_property (line 73) | def test_has_property(self): method test_checker_is_called (line 82) | def test_checker_is_called(self): method test_converter_is_called (line 90) | def test_converter_is_called(self): class TestConfig (line 98) | class TestConfig(unittest.TestCase): method __check_unknown_error (line 99) | def __check_unknown_error(self, cls, good_dict): method __check_missing_error (line 113) | def __check_missing_error(self, cls, good_dict, key): method __check_empty_error (line 128) | def __check_empty_error(self, cls, good_dict, key): method check_common (line 147) | def check_common(self, cls, good_dict, keys): method check_bad_value_error (line 164) | def check_bad_value_error(self, cls, good_dict, key, value): method test_has_section (line 180) | def test_has_section(self): method test_general (line 191) | def test_general(self): method test_lftp (line 213) | def test_lftp(self): method test_controller (line 282) | def test_controller(self): method test_web (line 317) | def test_web(self): method test_autoqueue (line 334) | def test_autoqueue(self): method test_from_file (line 360) | def test_from_file(self): method test_to_file (line 447) | def test_to_file(self): method test_persist_read_error (line 527) | def test_persist_read_error(self): FILE: src/python/tests/unittests/test_common/test_job.py class DummyError (line 11) | class DummyError(Exception): class DummyFailingJob (line 15) | class DummyFailingJob(Job): method setup (line 16) | def setup(self): method execute (line 20) | def execute(self): method cleanup (line 23) | def cleanup(self): class TestJob (line 28) | class TestJob(unittest.TestCase): method test_exception_propagates (line 29) | def test_exception_propagates(self): method test_cleanup_executes_on_execute_error (line 40) | def test_cleanup_executes_on_execute_error(self): FILE: src/python/tests/unittests/test_common/test_multiprocessing_logger.py class TestMultiprocessingLogger (line 15) | class TestMultiprocessingLogger(unittest.TestCase): method setUp (line 16) | def setUp(self): method test_main_logger_receives_records (line 25) | def test_main_logger_receives_records(self): method test_children_names (line 55) | def test_children_names(self): method test_logger_levels (line 80) | def test_logger_levels(self): FILE: src/python/tests/unittests/test_common/test_persist.py class DummyPersist (line 11) | class DummyPersist(Persist): method __init__ (line 12) | def __init__(self): method from_str (line 17) | def from_str(cls: "DummyPersist", content: str) -> "DummyPersist": method to_str (line 23) | def to_str(self) -> str: class TestPersist (line 27) | class TestPersist(unittest.TestCase): method setUp (line 29) | def setUp(self): method tearDown (line 34) | def tearDown(self): method test_from_file (line 38) | def test_from_file(self): method test_from_file_non_existing (line 45) | def test_from_file_non_existing(self): method test_to_file_non_existing (line 51) | def test_to_file_non_existing(self): method test_to_file_overwrite (line 60) | def test_to_file_overwrite(self): FILE: src/python/tests/unittests/test_common/test_status.py class DummyStatusComponent (line 10) | class DummyStatusComponent(StatusComponent): method __init__ (line 14) | def __init__(self): class DummyStatusComponentListener (line 20) | class DummyStatusComponentListener(IStatusComponentListener): method notify (line 22) | def notify(self, name): class DummyStatusListener (line 26) | class DummyStatusListener(IStatusListener): method notify (line 28) | def notify(self): class TestStatusComponent (line 32) | class TestStatusComponent(unittest.TestCase): method test_property_values (line 33) | def test_property_values(self): method test_listeners (line 40) | def test_listeners(self): method test_copy_values (line 59) | def test_copy_values(self): method test_copy_doesnt_copy_listeners (line 85) | def test_copy_doesnt_copy_listeners(self): class TestStatus (line 104) | class TestStatus(unittest.TestCase): method test_property_values (line 105) | def test_property_values(self): method test_listeners (line 112) | def test_listeners(self): method test_cannot_replace_component (line 123) | def test_cannot_replace_component(self): method test_default_values (line 130) | def test_default_values(self): method test_components_registered (line 137) | def test_components_registered(self): method test_copy_values (line 156) | def test_copy_values(self): method test_copy_doesnt_copy_listeners (line 181) | def test_copy_doesnt_copy_listeners(self): FILE: src/python/tests/unittests/test_controller/test_auto_queue.py class TestAutoQueuePattern (line 15) | class TestAutoQueuePattern(unittest.TestCase): method test_pattern (line 16) | def test_pattern(self): method test_equality (line 22) | def test_equality(self): method test_to_str (line 29) | def test_to_str(self): method test_from_str (line 47) | def test_from_str(self): method test_to_and_from_str (line 65) | def test_to_and_from_str(self): class TestAutoQueuePersistListener (line 84) | class TestAutoQueuePersistListener(IAutoQueuePersistListener): method pattern_added (line 86) | def pattern_added(self, pattern: AutoQueuePattern): method pattern_removed (line 90) | def pattern_removed(self, pattern: AutoQueuePattern): class TestAutoQueuePersist (line 94) | class TestAutoQueuePersist(unittest.TestCase): method test_add_pattern (line 95) | def test_add_pattern(self): method test_add_blank_pattern_fails (line 111) | def test_add_blank_pattern_fails(self): method test_remove_pattern (line 120) | def test_remove_pattern(self): method test_listener_pattern_added (line 134) | def test_listener_pattern_added(self): method test_listener_pattern_added_duplicate (line 146) | def test_listener_pattern_added_duplicate(self): method test_listener_pattern_removed (line 157) | def test_listener_pattern_removed(self): method test_listener_pattern_removed_non_existing (line 172) | def test_listener_pattern_removed_non_existing(self): method test_from_str (line 183) | def test_from_str(self): method test_to_str (line 216) | def test_to_str(self): method test_to_and_from_str (line 239) | def test_to_and_from_str(self): method test_persist_read_error (line 254) | def test_persist_read_error(self): class TestAutoQueue (line 282) | class TestAutoQueue(unittest.TestCase): method setUp (line 283) | def setUp(self): method test_matching_new_files_are_queued (line 314) | def test_matching_new_files_are_queued(self): method test_matching_initial_files_are_queued (line 358) | def test_matching_initial_files_are_queued(self): method test_non_matches (line 388) | def test_non_matches(self): method test_matching_is_case_insensitive (line 399) | def test_matching_is_case_insensitive(self): method test_partial_matches (line 425) | def test_partial_matches(self): method test_wildcard_at_start_matches (line 453) | def test_wildcard_at_start_matches(self): method test_wildcard_at_end_matches (line 482) | def test_wildcard_at_end_matches(self): method test_wildcard_in_middle_matches (line 515) | def test_wildcard_in_middle_matches(self): method test_wildcard_matches_are_case_insensitive (line 548) | def test_wildcard_matches_are_case_insensitive(self): method test_matching_local_files_are_not_queued (line 577) | def test_matching_local_files_are_not_queued(self): method test_matching_deleted_files_are_not_queued (line 589) | def test_matching_deleted_files_are_not_queued(self): method test_matching_downloading_files_are_not_queued (line 602) | def test_matching_downloading_files_are_not_queued(self): method test_matching_queued_files_are_not_queued (line 622) | def test_matching_queued_files_are_not_queued(self): method test_matching_downloaded_files_are_not_queued (line 634) | def test_matching_downloaded_files_are_not_queued(self): method test_auto_queued_file_not_re_queued_after_stopping (line 649) | def test_auto_queued_file_not_re_queued_after_stopping(self): method test_partial_file_is_auto_queued_after_remote_discovery (line 670) | def test_partial_file_is_auto_queued_after_remote_discovery(self): method test_new_matching_pattern_queues_existing_files (line 695) | def test_new_matching_pattern_queues_existing_files(self): method test_new_matching_pattern_doesnt_queue_local_file (line 744) | def test_new_matching_pattern_doesnt_queue_local_file(self): method test_removed_pattern_doesnt_queue_new_file (line 762) | def test_removed_pattern_doesnt_queue_new_file(self): method test_adding_then_removing_pattern_doesnt_queue_existing_file (line 786) | def test_adding_then_removing_pattern_doesnt_queue_existing_file(self): method test_downloaded_file_with_changed_remote_size_is_queued (line 813) | def test_downloaded_file_with_changed_remote_size_is_queued(self): method test_no_files_are_queued_when_disabled (line 840) | def test_no_files_are_queued_when_disabled(self): method test_all_files_are_queued_when_patterns_only_disabled (line 875) | def test_all_files_are_queued_when_patterns_only_disabled(self): method test_all_files_are_queued_when_patterns_only_disabled_and_no_patterns_exist (line 906) | def test_all_files_are_queued_when_patterns_only_disabled_and_no_patte... method test_matching_new_files_are_extracted (line 934) | def test_matching_new_files_are_extracted(self): method test_matching_initial_files_are_extracted (line 984) | def test_matching_initial_files_are_extracted(self): method test_new_matching_pattern_extracts_existing_files (line 1024) | def test_new_matching_pattern_extracts_existing_files(self): method test_non_extractable_files_are_not_extracted (line 1083) | def test_non_extractable_files_are_not_extracted(self): method test_no_files_are_extracted_when_disabled (line 1115) | def test_no_files_are_extracted_when_disabled(self): method test_no_files_are_extracted_when_auto_extract_disabled (line 1155) | def test_no_files_are_extracted_when_auto_extract_disabled(self): method test_all_files_are_extracted_when_patterns_only_disabled (line 1196) | def test_all_files_are_extracted_when_patterns_only_disabled(self): method test_all_files_are_extracted_when_patterns_only_disabled_and_no_patterns_exist (line 1237) | def test_all_files_are_extracted_when_patterns_only_disabled_and_no_pa... method test_file_is_extracted_after_finishing_download (line 1275) | def test_file_is_extracted_after_finishing_download(self): method test_downloaded_file_is_NOT_re_extracted_after_modified (line 1317) | def test_downloaded_file_is_NOT_re_extracted_after_modified(self): method test_downloaded_file_is_NOT_re_extracted_after_failed_extraction (line 1345) | def test_downloaded_file_is_NOT_re_extracted_after_failed_extraction(s... FILE: src/python/tests/unittests/test_controller/test_controller_persist.py class TestControllerPersist (line 10) | class TestControllerPersist(unittest.TestCase): method test_from_str (line 11) | def test_from_str(self): method test_to_str (line 24) | def test_to_str(self): method test_to_and_from_str (line 40) | def test_to_and_from_str(self): method test_persist_read_error (line 61) | def test_persist_read_error(self): FILE: src/python/tests/unittests/test_controller/test_extract/test_dispatch.py class DummyExtractListener (line 18) | class DummyExtractListener(ExtractListener): method extract_completed (line 20) | def extract_completed(self, name: str, is_dir: bool): method extract_failed (line 24) | def extract_failed(self, name: str, is_dir: bool): class TestExtractDispatch (line 28) | class TestExtractDispatch(unittest.TestCase): method setUp (line 29) | def setUp(self): method tearDown (line 57) | def tearDown(self): method test_extract_single_raises_error_on_remote_only_file (line 61) | def test_extract_single_raises_error_on_remote_only_file(self): method test_extract_single_raises_error_on_bad_archive (line 74) | def test_extract_single_raises_error_on_bad_archive(self): method test_extract_single (line 86) | def test_extract_single(self): method test_extract_maintains_order (line 102) | def test_extract_maintains_order(self): method test_extract_calls_listener_on_completed (line 136) | def test_extract_calls_listener_on_completed(self): method test_extract_calls_listener_on_failed (line 153) | def test_extract_calls_listener_on_failed(self): method test_extract_calls_listeners_in_correct_sequence (line 175) | def test_extract_calls_listeners_in_correct_sequence(self): method test_extract_skips_remaining_on_shutdown (line 221) | def test_extract_skips_remaining_on_shutdown(self): method test_extract_dir_raises_error_on_empty_dir (line 256) | def test_extract_dir_raises_error_on_empty_dir(self): method test_extract_dir_raises_error_on_no_archives (line 263) | def test_extract_dir_raises_error_on_no_archives(self): method test_extract_dir_raises_error_on_no_local_files (line 279) | def test_extract_dir_raises_error_on_no_local_files(self): method test_extract_dir (line 297) | def test_extract_dir(self): method test_extract_dir_skips_remote_files (line 365) | def test_extract_dir_skips_remote_files(self): method test_extract_dir_skips_non_archive_files (line 425) | def test_extract_dir_skips_non_archive_files(self): method test_extract_dir_does_not_extract_split_rar_files (line 492) | def test_extract_dir_does_not_extract_split_rar_files(self): method test_extract_dir_exits_command_early_on_shutdown (line 563) | def test_extract_dir_exits_command_early_on_shutdown(self): method test_status (line 602) | def test_status(self): method test_extract_ignores_duplicate_calls (line 706) | def test_extract_ignores_duplicate_calls(self): FILE: src/python/tests/unittests/test_controller/test_extract/test_extract_process.py class TestExtractProcess (line 18) | class TestExtractProcess(unittest.TestCase): method setUp (line 19) | def setUp(self): method tearDown (line 39) | def tearDown(self): method test_param_out_dir_path (line 44) | def test_param_out_dir_path(self): method test_param_out_local_path (line 63) | def test_param_out_local_path(self): method test_calls_start_dispatch (line 82) | def test_calls_start_dispatch(self): method test_retrieves_status (line 96) | def test_retrieves_status(self): method test_retrieves_completed (line 165) | def test_retrieves_completed(self): method test_forwards_extract_commands (line 213) | def test_forwards_extract_commands(self): FILE: src/python/tests/unittests/test_controller/test_model_builder.py class TestModelBuilder (line 16) | class TestModelBuilder(unittest.TestCase): method setUp (line 17) | def setUp(self): method __build_test_model_children_tree_1 (line 27) | def __build_test_model_children_tree_1(self) -> Model: method test_build_file_names (line 80) | def test_build_file_names(self): method test_build_is_dir (line 91) | def test_build_is_dir(self): method test_build_mismatch_is_dir (line 142) | def test_build_mismatch_is_dir(self): method test_build_state (line 186) | def test_build_state(self): method test_build_remote_size (line 354) | def test_build_remote_size(self): method test_build_remote_size_from_status_is_ignored (line 371) | def test_build_remote_size_from_status_is_ignored(self): method test_build_local_size (line 379) | def test_build_local_size(self): method test_build_local_size_from_status_is_ignored (line 396) | def test_build_local_size_from_status_is_ignored(self): method test_build_local_size_downloading (line 404) | def test_build_local_size_downloading(self): method test_build_downloading_state_is_retained (line 413) | def test_build_downloading_state_is_retained(self): method test_build_downloading_speed (line 432) | def test_build_downloading_speed(self): method test_build_eta (line 455) | def test_build_eta(self): method test_build_estimated_eta (line 478) | def test_build_estimated_eta(self): method test_build_children_names (line 537) | def test_build_children_names(self): method test_build_children_is_dir (line 563) | def test_build_children_is_dir(self): method test_build_children_mismatch_is_dir (line 597) | def test_build_children_mismatch_is_dir(self): method test_build_children_sizes (line 611) | def test_build_children_sizes(self): method test_build_children_state_default (line 645) | def test_build_children_state_default(self): method test_build_children_state_default_partial (line 667) | def test_build_children_state_default_partial(self): method test_build_children_state_default_extra (line 698) | def test_build_children_state_default_extra(self): method test_build_children_state_downloaded_full (line 720) | def test_build_children_state_downloaded_full(self): method test_build_children_state_downloaded_full_extra (line 751) | def test_build_children_state_downloaded_full_extra(self): method test_build_children_state_downloaded_partial (line 791) | def test_build_children_state_downloaded_partial(self): method test_build_children_state_downloaded_partial_extra (line 822) | def test_build_children_state_downloaded_partial_extra(self): method test_build_children_state_queued (line 862) | def test_build_children_state_queued(self): method test_build_children_state_downloading_1 (line 885) | def test_build_children_state_downloading_1(self): method test_build_children_state_downloading_2 (line 911) | def test_build_children_state_downloading_2(self): method test_build_children_state_downloading_3 (line 937) | def test_build_children_state_downloading_3(self): method test_build_children_state_downloading_4 (line 961) | def test_build_children_state_downloading_4(self): method test_build_children_state_all (line 989) | def test_build_children_state_all(self): method test_build_children_downloading_speed (line 1023) | def test_build_children_downloading_speed(self): method test_build_children_eta (line 1057) | def test_build_children_eta(self): method test_build_sets_is_extractable (line 1092) | def test_build_sets_is_extractable(self, mock_extract_module): method test_build_transferred_size (line 1190) | def test_build_transferred_size(self): method test_build_local_created_timestamp (line 1235) | def test_build_local_created_timestamp(self): method test_build_local_modified_timestamp (line 1245) | def test_build_local_modified_timestamp(self): method test_build_remote_created_timestamp (line 1255) | def test_build_remote_created_timestamp(self): method test_build_remote_modified_timestamp (line 1265) | def test_build_remote_modified_timestamp(self): method test_rebuild (line 1275) | def test_rebuild(self): method test_rebuild_on_active_files (line 1302) | def test_rebuild_on_active_files(self): method test_rebuild_on_local_files (line 1325) | def test_rebuild_on_local_files(self): method test_rebuild_on_remote_files (line 1350) | def test_rebuild_on_remote_files(self): method test_rebuild_on_lftp_statuses (line 1375) | def test_rebuild_on_lftp_statuses(self): method test_rebuild_on_downloaded_files (line 1400) | def test_rebuild_on_downloaded_files(self): method test_rebuild_on_extract_statuses (line 1416) | def test_rebuild_on_extract_statuses(self): method test_rebuild_on_extracted_files (line 1441) | def test_rebuild_on_extracted_files(self): FILE: src/python/tests/unittests/test_controller/test_scan/test_remote_scanner.py class TestRemoteScanner (line 17) | class TestRemoteScanner(unittest.TestCase): method setUp (line 21) | def setUp(self): method setUpClass (line 38) | def setUpClass(cls): method tearDownClass (line 45) | def tearDownClass(cls): method test_correctly_initializes_ssh (line 48) | def test_correctly_initializes_ssh(self): method test_installs_scan_script_on_first_scan (line 72) | def test_installs_scan_script_on_first_scan(self): method test_copy_appends_scanfs_name_to_remote_path (line 107) | def test_copy_appends_scanfs_name_to_remote_path(self): method test_calls_correct_ssh_md5sum_command (line 138) | def test_calls_correct_ssh_md5sum_command(self): method test_skips_install_on_md5sum_match (line 169) | def test_skips_install_on_md5sum_match(self): method test_installs_scan_script_on_any_md5sum_output (line 201) | def test_installs_scan_script_on_any_md5sum_output(self): method test_raises_nonrecoverable_error_on_md5sum_error (line 232) | def test_raises_nonrecoverable_error_on_md5sum_error(self): method test_calls_correct_ssh_scan_command (line 261) | def test_calls_correct_ssh_scan_command(self): method test_raises_nonrecoverable_error_on_first_failed_ssh (line 291) | def test_raises_nonrecoverable_error_on_first_failed_ssh(self): method test_raises_recoverable_error_on_subsequent_failed_ssh (line 324) | def test_raises_recoverable_error_on_subsequent_failed_ssh(self): method test_recovers_from_failed_ssh (line 361) | def test_recovers_from_failed_ssh(self): method test_raises_nonrecoverable_error_on_failed_copy (line 398) | def test_raises_nonrecoverable_error_on_failed_copy(self): method test_raises_nonrecoverable_error_on_mangled_output (line 419) | def test_raises_nonrecoverable_error_on_mangled_output(self): method test_raises_nonrecoverable_error_on_failed_scan (line 439) | def test_raises_nonrecoverable_error_on_failed_scan(self): FILE: src/python/tests/unittests/test_controller/test_scan/test_scanner_process.py class DummyScanner (line 15) | class DummyScanner(IScanner): method scan (line 16) | def scan(self): method set_base_logger (line 19) | def set_base_logger(self, base_logger: logging.Logger): class TestScannerProcess (line 23) | class TestScannerProcess(unittest.TestCase): method setUp (line 24) | def setUp(self): method tearDown (line 36) | def tearDown(self): method test_retrieves_scan_results (line 41) | def test_retrieves_scan_results(self): method test_sends_error_result_on_recoverable_error (line 146) | def test_sends_error_result_on_recoverable_error(self): method test_sends_fatal_exception_on_nonrecoverable_error (line 164) | def test_sends_fatal_exception_on_nonrecoverable_error(self): FILE: src/python/tests/unittests/test_lftp/test_job_status.py class TestLftpJobStatus (line 8) | class TestLftpJobStatus(unittest.TestCase): method test_id (line 9) | def test_id(self): method test_type (line 17) | def test_type(self): method test_state (line 31) | def test_state(self): method test_name (line 45) | def test_name(self): method test_total_transfer_state (line 59) | def test_total_transfer_state(self): method test_total_transfer_state_fails_on_queued (line 70) | def test_total_transfer_state_fails_on_queued(self): method test_active_transfer_state (line 80) | def test_active_transfer_state(self): method test_active_transfer_state_fails_on_queued (line 92) | def test_active_transfer_state_fails_on_queued(self): method test_equality_operator (line 102) | def test_equality_operator(self): FILE: src/python/tests/unittests/test_lftp/test_job_status_parser.py class TestLftpJobStatusParser (line 9) | class TestLftpJobStatusParser(unittest.TestCase): method setUp (line 10) | def setUp(self): method test_size_to_bytes (line 14) | def test_size_to_bytes(self): method test_eta_to_seconds (line 32) | def test_eta_to_seconds(self): method test_empty_output_1 (line 44) | def test_empty_output_1(self): method test_empty_output_2 (line 50) | def test_empty_output_2(self): method test_empty_output_3 (line 57) | def test_empty_output_3(self): method test_empty_output_4 (line 65) | def test_empty_output_4(self): method test_queued_items (line 75) | def test_queued_items(self): method test_queued_items_with_quotes (line 120) | def test_queued_items_with_quotes(self): method test_queue_and_jobs_1 (line 183) | def test_queue_and_jobs_1(self): method test_queue_and_jobs_2 (line 293) | def test_queue_and_jobs_2(self): method test_queue_and_jobs_3 (line 392) | def test_queue_and_jobs_3(self): method test_queue_and_jobs_4 (line 447) | def test_queue_and_jobs_4(self): method test_queue_and_jobs_5 (line 498) | def test_queue_and_jobs_5(self): method test_queue_and_jobs_6 (line 550) | def test_queue_and_jobs_6(self): method test_jobs_1 (line 606) | def test_jobs_1(self): method test_jobs_2 (line 629) | def test_jobs_2(self): method test_jobs_3 (line 655) | def test_jobs_3(self): method test_jobs_quotes (line 688) | def test_jobs_quotes(self): method test_jobs_getting_file_list (line 723) | def test_jobs_getting_file_list(self): method test_jobs_mirror_empty (line 753) | def test_jobs_mirror_empty(self): method test_jobs_mirror_mkdir (line 781) | def test_jobs_mirror_mkdir(self): method test_jobs_connecting (line 808) | def test_jobs_connecting(self): method test_jobs_almost_done (line 837) | def test_jobs_almost_done(self): method test_jobs_empty (line 863) | def test_jobs_empty(self): method test_jobs_with_done_line (line 882) | def test_jobs_with_done_line(self): method test_jobs_missing_pget_data_line (line 908) | def test_jobs_missing_pget_data_line(self): method test_raises_error_on_bad_status (line 938) | def test_raises_error_on_bad_status(self): method test_jobs_special_char_1 (line 952) | def test_jobs_special_char_1(self): method test_jobs_special_char_2 (line 1005) | def test_jobs_special_char_2(self): method test_jobs_special_char_3 (line 1058) | def test_jobs_special_char_3(self): method test_jobs_special_char_4 (line 1111) | def test_jobs_special_char_4(self): method test_jobs_chmod (line 1164) | def test_jobs_chmod(self): method test_jobs_chmod_two_liner (line 1252) | def test_jobs_chmod_two_liner(self): method test_jobs_chmod_2 (line 1295) | def test_jobs_chmod_2(self): method test_removes_jobs_command (line 1337) | def test_removes_jobs_command(self): method test_removes_multiple_jobs_lines (line 1358) | def test_removes_multiple_jobs_lines(self): method test_removes_log_line (line 1381) | def test_removes_log_line(self): method test_removes_lines_before_first_jobs (line 1402) | def test_removes_lines_before_first_jobs(self): method test_jobs_removes_multiple_jobs_lines (line 1424) | def test_jobs_removes_multiple_jobs_lines(self): FILE: src/python/tests/unittests/test_lftp/test_lftp.py class TestLftp (line 17) | class TestLftp(unittest.TestCase): method setUpClass (line 21) | def setUpClass(cls): method tearDownClass (line 88) | def tearDownClass(cls): method setUp (line 92) | def setUp(self): method tearDown (line 118) | def tearDown(self): method test_num_connections_per_dir_file (line 122) | def test_num_connections_per_dir_file(self): method test_num_connections_per_root_file (line 128) | def test_num_connections_per_root_file(self): method test_num_parallel_files (line 134) | def test_num_parallel_files(self): method test_num_max_total_connections (line 140) | def test_num_max_total_connections(self): method test_rate_limit (line 148) | def test_rate_limit(self): method test_min_chunk_size (line 156) | def test_min_chunk_size(self): method test_num_parallel_jobs (line 164) | def test_num_parallel_jobs(self): method test_move_background_on_exit (line 170) | def test_move_background_on_exit(self): method test_use_temp_file (line 176) | def test_use_temp_file(self): method test_temp_file_name (line 182) | def test_temp_file_name(self): method test_sftp_auto_confirm (line 188) | def test_sftp_auto_confirm(self): method test_sftp_connect_program (line 194) | def test_sftp_connect_program(self): method test_status_empty (line 200) | def test_status_empty(self): method test_queue_file (line 205) | def test_queue_file(self): method test_queue_dir (line 218) | def test_queue_dir(self): method test_queue_file_with_spaces (line 231) | def test_queue_file_with_spaces(self): method test_queue_dir_with_spaces (line 245) | def test_queue_dir_with_spaces(self): method test_queue_file_with_unicode (line 258) | def test_queue_file_with_unicode(self): method test_queue_dir_with_latin (line 271) | def test_queue_dir_with_latin(self): method test_queue_dir_with_unicode (line 292) | def test_queue_dir_with_unicode(self): method test_queue_num_parallel_jobs (line 306) | def test_queue_num_parallel_jobs(self): method test_kill_all (line 331) | def test_kill_all(self): method test_kill_all_and_queue_again (line 354) | def test_kill_all_and_queue_again(self): method test_kill_queued_job (line 385) | def test_kill_queued_job(self): method test_kill_running_job (line 411) | def test_kill_running_job(self): method test_kill_missing_job (line 431) | def test_kill_missing_job(self): method test_kill_job_1 (line 452) | def test_kill_job_1(self): method test_queued_and_kill_jobs_1 (line 522) | def test_queued_and_kill_jobs_1(self): method test_queue_dir_wrong_file_type (line 608) | def test_queue_dir_wrong_file_type(self): method test_queue_file_wrong_file_type (line 627) | def test_queue_file_wrong_file_type(self): method test_queue_missing_file (line 646) | def test_queue_missing_file(self): method test_queue_missing_dir (line 663) | def test_queue_missing_dir(self): method test_password_auth (line 681) | def test_password_auth(self): method test_error_bad_password (line 716) | def test_error_bad_password(self): FILE: src/python/tests/unittests/test_model/test_diff.py class TestModelDiff (line 9) | class TestModelDiff(unittest.TestCase): method test_change (line 10) | def test_change(self): method test_old_file (line 18) | def test_old_file(self): method test_new_file (line 26) | def test_new_file(self): class TestModelDiffUtil (line 35) | class TestModelDiffUtil(unittest.TestCase): method test_added (line 36) | def test_added(self): method test_removed (line 45) | def test_removed(self): method test_updated (line 54) | def test_updated(self): method test_updated_children (line 66) | def test_updated_children(self): method test_diff_1 (line 82) | def test_diff_1(self): FILE: src/python/tests/unittests/test_model/test_file.py class TestModelFile (line 9) | class TestModelFile(unittest.TestCase): method test_name (line 10) | def test_name(self): method test_is_dir (line 14) | def test_is_dir(self): method test_state (line 20) | def test_state(self): method test_local_size (line 29) | def test_local_size(self): method test_remote_size (line 42) | def test_remote_size(self): method test_transferred_size (line 55) | def test_transferred_size(self): method test_downloading_speed (line 68) | def test_downloading_speed(self): method test_update_timestamp (line 81) | def test_update_timestamp(self): method test_eta (line 91) | def test_eta(self): method test_is_extractable (line 104) | def test_is_extractable(self): method test_local_created_timestamp (line 111) | def test_local_created_timestamp(self): method test_local_modified_timestamp (line 122) | def test_local_modified_timestamp(self): method test_remote_created_timestamp (line 133) | def test_remote_created_timestamp(self): method test_remote_modified_timestamp (line 144) | def test_remote_modified_timestamp(self): method test_equality_operator (line 155) | def test_equality_operator(self): method test_child (line 170) | def test_child(self): method test_child_equality (line 180) | def test_child_equality(self): method test_fail_add_child_to_nondir (line 216) | def test_fail_add_child_to_nondir(self): method test_fail_add_child_twice (line 223) | def test_fail_add_child_twice(self): method test_full_path (line 234) | def test_full_path(self): method test_parent (line 247) | def test_parent(self): FILE: src/python/tests/unittests/test_model/test_model.py class DummyModelListener (line 12) | class DummyModelListener(IModelListener): method file_added (line 14) | def file_added(self, file: ModelFile): method file_removed (line 18) | def file_removed(self, file: ModelFile): method file_updated (line 22) | def file_updated(self, old_file: ModelFile, new_file: ModelFile): class TestLftpModel (line 26) | class TestLftpModel(unittest.TestCase): method setUp (line 27) | def setUp(self): method test_add_file (line 37) | def test_add_file(self): method test_get_unknown_file (line 43) | def test_get_unknown_file(self): method test_remove_file (line 47) | def test_remove_file(self): method test_remove_unknown_file (line 54) | def test_remove_unknown_file(self): method test_update_file (line 58) | def test_update_file(self): method test_update_unknown_file (line 69) | def test_update_unknown_file(self): method test_get_file_names (line 74) | def test_get_file_names(self): method test_add_listener (line 87) | def test_add_listener(self): method test_remove_listener (line 91) | def test_remove_listener(self): method test_listener_file_added (line 104) | def test_listener_file_added(self): method test_listener_file_removed (line 115) | def test_listener_file_removed(self): method test_listener_file_updated (line 127) | def test_listener_file_updated(self): FILE: src/python/tests/unittests/test_seedsync.py class TestSeedsync (line 11) | class TestSeedsync(unittest.TestCase): method test_args_config (line 12) | def test_args_config(self): method test_args_html (line 39) | def test_args_html(self): method test_args_scanfs (line 51) | def test_args_scanfs(self): method test_args_logdir (line 63) | def test_args_logdir(self): method test_args_debug (line 88) | def test_args_debug(self): method test_default_config (line 124) | def test_default_config(self): method test_detect_incomplete_config (line 139) | def test_detect_incomplete_config(self): FILE: src/python/tests/unittests/test_ssh/test_sshcp.py class TestSshcp (line 30) | class TestSshcp(unittest.TestCase): method setUp (line 34) | def setUp(self): method tearDown (line 63) | def tearDown(self): method test_ctor (line 67) | def test_ctor(self): method test_copy (line 73) | def test_copy(self, _, password): method test_copy_error_bad_password (line 81) | def test_copy_error_bad_password(self): method test_copy_error_missing_local_file (line 89) | def test_copy_error_missing_local_file(self, _, password): method test_copy_error_missing_remote_dir (line 101) | def test_copy_error_missing_remote_dir(self, _, password): method test_copy_error_bad_host (line 112) | def test_copy_error_bad_host(self, _, password): method test_copy_error_bad_port (line 120) | def test_copy_error_bad_port(self, _, password): method test_shell (line 129) | def test_shell(self, _, password): method test_shell_with_escape_characters (line 137) | def test_shell_with_escape_characters(self, _, password): method test_shell_error_bad_password (line 158) | def test_shell_error_bad_password(self): method test_shell_error_bad_host (line 166) | def test_shell_error_bad_host(self, _, password): method test_shell_error_bad_port (line 174) | def test_shell_error_bad_port(self, _, password): method test_shell_error_bad_command (line 182) | def test_shell_error_bad_command(self, _, password): FILE: src/python/tests/unittests/test_system/test_file.py class TestSystemFile (line 9) | class TestSystemFile(unittest.TestCase): method test_name (line 10) | def test_name(self): method test_size (line 14) | def test_size(self): method test_is_dir (line 22) | def test_is_dir(self): method test_time_created (line 28) | def test_time_created(self): method test_time_modified (line 34) | def test_time_modified(self): method test_add_child (line 40) | def test_add_child(self): method test_fail_add_child_to_file (line 52) | def test_fail_add_child_to_file(self): method test_equality_operator (line 58) | def test_equality_operator(self): FILE: src/python/tests/unittests/test_system/test_scanner.py function my_mkdir (line 13) | def my_mkdir(*args): function my_touch (line 17) | def my_touch(size, *args): function my_mkdir_latin (line 23) | def my_mkdir_latin(*args): function my_touch_latin (line 27) | def my_touch_latin(size, *args): class TestSystemScanner (line 34) | class TestSystemScanner(unittest.TestCase): method setUp (line 37) | def setUp(self): method tearDown (line 41) | def tearDown(self): method setup_default_tree (line 45) | def setup_default_tree(self): method test_scan_tree (line 78) | def test_scan_tree(self): method test_scan_size (line 132) | def test_scan_size(self): method test_scan_non_existing_dir_fails (line 162) | def test_scan_non_existing_dir_fails(self): method test_scan_file_fails (line 171) | def test_scan_file_fails(self): method test_scan_single_dir (line 180) | def test_scan_single_dir(self): method test_scan_single_file (line 207) | def test_scan_single_file(self): method test_scan_single_non_existing_path_fails (line 216) | def test_scan_single_non_existing_path_fails(self): method test_scan_tree_excluded_prefix (line 225) | def test_scan_tree_excluded_prefix(self): method test_scan_size_excluded_prefix (line 251) | def test_scan_size_excluded_prefix(self): method test_scan_tree_excluded_suffix (line 278) | def test_scan_tree_excluded_suffix(self): method test_scan_size_excluded_suffix (line 297) | def test_scan_size_excluded_suffix(self): method test_lftp_status_file_size (line 315) | def test_lftp_status_file_size(self): method test_scan_lftp_partial_file (line 331) | def test_scan_lftp_partial_file(self): method test_scan_single_lftp_partial_file (line 364) | def test_scan_single_lftp_partial_file(self): method test_scan_lftp_temp_file (line 391) | def test_scan_lftp_temp_file(self): method test_scan_single_lftp_temp_file (line 474) | def test_scan_single_lftp_temp_file(self): method test_files_deleted_while_scanning (line 574) | def test_files_deleted_while_scanning(self): method test_scan_modified_time (line 604) | def test_scan_modified_time(self): method test_scan_file_with_unicode_chars (line 632) | def test_scan_file_with_unicode_chars(self): method test_scan_file_with_latin_chars (line 648) | def test_scan_file_with_latin_chars(self): FILE: src/python/tests/unittests/test_web/test_handler/test_stream_log.py function create_log_record (line 10) | def create_log_record(created: float, msg: str) -> LogRecord: class TestCachedQueueLogHandler (line 24) | class TestCachedQueueLogHandler(unittest.TestCase): method test_caches_new_records (line 26) | def test_caches_new_records(self, mock_time_module): method test_prunes_old_records (line 55) | def test_prunes_old_records(self, mock_time_module): method test_prunes_old_records_at_get_time (line 84) | def test_prunes_old_records_at_get_time(self, mock_time_module): method test_cache_can_be_disabled (line 116) | def test_cache_can_be_disabled(self, mock_time_module): FILE: src/python/tests/unittests/test_web/test_serialize/test_serialize.py class DummySerialize (line 8) | class DummySerialize(Serialize): method dummy (line 9) | def dummy(self): function parse_stream (line 13) | def parse_stream(serialized_str: str): FILE: src/python/tests/unittests/test_web/test_serialize/test_serialize_auto_queue.py class TestSerializeConfig (line 10) | class TestSerializeConfig(unittest.TestCase): method test_is_list (line 11) | def test_is_list(self): method test_patterns (line 22) | def test_patterns(self): FILE: src/python/tests/unittests/test_web/test_serialize/test_serialize_config.py class TestSerializeConfig (line 10) | class TestSerializeConfig(unittest.TestCase): method test_section_general (line 11) | def test_section_general(self): method test_section_lftp (line 19) | def test_section_lftp(self): method test_section_controller (line 47) | def test_section_controller(self): method test_section_web (line 59) | def test_section_web(self): method test_section_autoqueue (line 67) | def test_section_autoqueue(self): FILE: src/python/tests/unittests/test_web/test_serialize/test_serialize_log_record.py class TestSerializeLogRecord (line 11) | class TestSerializeLogRecord(unittest.TestCase): method test_event_names (line 12) | def test_event_names(self): method test_record_time (line 29) | def test_record_time(self): method test_record_level_name (line 47) | def test_record_level_name(self): method test_record_logger_name (line 126) | def test_record_logger_name(self): method test_record_message (line 144) | def test_record_message(self): method test_record_exception_text (line 162) | def test_record_exception_text(self): FILE: src/python/tests/unittests/test_web/test_serialize/test_serialize_model.py class TestSerializeModel (line 13) | class TestSerializeModel(unittest.TestCase): method test_event_names (line 14) | def test_event_names(self): method test_model_is_a_list (line 37) | def test_model_is_a_list(self): method test_update_event_is_a_dict (line 50) | def test_update_event_is_a_dict(self): method test_update_event_files (line 62) | def test_update_event_files(self): method test_file_name (line 100) | def test_file_name(self): method test_file_is_dir (line 109) | def test_file_is_dir(self): method test_file_state (line 118) | def test_file_state(self): method test_remote_size (line 146) | def test_remote_size(self): method test_local_size (line 162) | def test_local_size(self): method test_downloading_speed (line 178) | def test_downloading_speed(self): method test_eta (line 194) | def test_eta(self): method test_file_is_extractable (line 210) | def test_file_is_extractable(self): method test_local_created_timestamp (line 223) | def test_local_created_timestamp(self): method test_local_modified_timestamp (line 235) | def test_local_modified_timestamp(self): method test_remote_created_timestamp (line 247) | def test_remote_created_timestamp(self): method test_remote_modified_timestamp (line 259) | def test_remote_modified_timestamp(self): method test_children (line 271) | def test_children(self): method test_full_path (line 308) | def test_full_path(self): FILE: src/python/tests/unittests/test_web/test_serialize/test_serialize_status.py class TestSerializeStatus (line 13) | class TestSerializeStatus(unittest.TestCase): method test_event_names (line 14) | def test_event_names(self): method test_server_status_up (line 25) | def test_server_status_up(self): method test_server_status_error_msg (line 38) | def test_server_status_error_msg(self): method test_controller_status_latest_local_scan_time (line 51) | def test_controller_status_latest_local_scan_time(self): method test_controller_status_latest_remote_scan_time (line 64) | def test_controller_status_latest_remote_scan_time(self): method test_controller_status_latest_remote_scan_failed (line 77) | def test_controller_status_latest_remote_scan_failed(self): method test_controller_status_latest_remote_scan_error (line 89) | def test_controller_status_latest_remote_scan_error(self): FILE: src/python/tests/utils.py class TestUtils (line 6) | class TestUtils: method chmod_from_to (line 8) | def chmod_from_to(from_path: str, to_path: str, mode: int): FILE: src/python/web/handler/auto_queue.py class AutoQueueHandler (line 12) | class AutoQueueHandler(IHandler): method __init__ (line 13) | def __init__(self, auto_queue_persist: AutoQueuePersist): method add_routes (line 17) | def add_routes(self, web_app: WebApp): method __handle_get_autoqueue (line 22) | def __handle_get_autoqueue(self): method __handle_add_autoqueue (line 28) | def __handle_add_autoqueue(self, pattern: str): method __handle_remove_autoqueue (line 43) | def __handle_remove_autoqueue(self, pattern: str): FILE: src/python/web/handler/config.py class ConfigHandler (line 11) | class ConfigHandler(IHandler): method __init__ (line 12) | def __init__(self, config: Config): method add_routes (line 16) | def add_routes(self, web_app: WebApp): method __handle_get_config (line 21) | def __handle_get_config(self): method __handle_set_config (line 25) | def __handle_set_config(self, section: str, key: str, value: str): FILE: src/python/web/handler/controller.py class WebResponseActionCallback (line 13) | class WebResponseActionCallback(Controller.Command.ICallback): method __init__ (line 21) | def __init__(self): method on_failure (line 27) | def on_failure(self, error: str): method on_success (line 33) | def on_success(self): method wait (line 37) | def wait(self): class ControllerHandler (line 41) | class ControllerHandler(IHandler): method __init__ (line 42) | def __init__(self, controller: Controller): method add_routes (line 46) | def add_routes(self, web_app: WebApp): method __handle_action_queue (line 53) | def __handle_action_queue(self, file_name: str): method __handle_action_stop (line 72) | def __handle_action_stop(self, file_name: str): method __handle_action_extract (line 91) | def __handle_action_extract(self, file_name: str): method __handle_action_delete_local (line 110) | def __handle_action_delete_local(self, file_name: str): method __handle_action_delete_remote (line 129) | def __handle_action_delete_remote(self, file_name: str): FILE: src/python/web/handler/server.py class ServerHandler (line 9) | class ServerHandler(IHandler): method __init__ (line 10) | def __init__(self, context: Context): method add_routes (line 15) | def add_routes(self, web_app: WebApp): method is_restart_requested (line 18) | def is_restart_requested(self): method __handle_action_restart (line 25) | def __handle_action_restart(self): FILE: src/python/web/handler/status.py class StatusHandler (line 10) | class StatusHandler(IHandler): method __init__ (line 11) | def __init__(self, status: Status): method add_routes (line 15) | def add_routes(self, web_app: WebApp): method __handle_get_status (line 18) | def __handle_get_status(self): FILE: src/python/web/handler/stream_log.py class CachedQueueLogHandler (line 15) | class CachedQueueLogHandler(logging.Handler): method __init__ (line 20) | def __init__(self, history_size_in_ms: int): method get_cached_records (line 30) | def get_cached_records(self) -> List[logging.LogRecord]: method emit (line 38) | def emit(self, record: logging.LogRecord): method __prune_history (line 45) | def __prune_history(self): class QueueLogHandler (line 60) | class QueueLogHandler(logging.Handler, StreamQueue[logging.LogRecord]): method __init__ (line 64) | def __init__(self): method emit (line 69) | def emit(self, record): class LogStreamHandler (line 73) | class LogStreamHandler(IStreamHandler): method __init__ (line 84) | def __init__(self, logger: logging.Logger): method register (line 92) | def register(cls, web_app: "WebApp", **kwargs): method setup (line 102) | def setup(self): method get_value (line 110) | def get_value(self) -> Optional[str]: method cleanup (line 118) | def cleanup(self): FILE: src/python/web/handler/stream_model.py class WebResponseModelListener (line 13) | class WebResponseModelListener(IModelListener, StreamQueue[SerializeMode... method __init__ (line 18) | def __init__(self): method file_added (line 22) | def file_added(self, file: ModelFile): method file_removed (line 28) | def file_removed(self, file: ModelFile): method file_updated (line 34) | def file_updated(self, old_file: ModelFile, new_file: ModelFile): class ModelStreamHandler (line 40) | class ModelStreamHandler(IStreamHandler): method __init__ (line 41) | def __init__(self, controller: Controller): method setup (line 49) | def setup(self): method get_value (line 53) | def get_value(self) -> Optional[str]: method cleanup (line 65) | def cleanup(self): FILE: src/python/web/handler/stream_status.py class StatusListener (line 11) | class StatusListener(IStatusListener, StreamQueue[Status]): method __init__ (line 15) | def __init__(self, status: Status): method notify (line 20) | def notify(self): class StatusStreamHandler (line 24) | class StatusStreamHandler(IStreamHandler): method __init__ (line 25) | def __init__(self, status: Status): method setup (line 32) | def setup(self): method get_value (line 36) | def get_value(self) -> Optional[str]: method cleanup (line 49) | def cleanup(self): FILE: src/python/web/serialize/serialize.py class Serialize (line 6) | class Serialize(ABC): method _sse_pack (line 11) | def _sse_pack(self, event: str, data: str) -> str: FILE: src/python/web/serialize/serialize_auto_queue.py class SerializeAutoQueue (line 9) | class SerializeAutoQueue: method patterns (line 13) | def patterns(patterns: List[AutoQueuePattern]) -> str: FILE: src/python/web/serialize/serialize_config.py class SerializeConfig (line 9) | class SerializeConfig: method config (line 11) | def config(config: Config) -> str: FILE: src/python/web/serialize/serialize_log_record.py class SerializeLogRecord (line 9) | class SerializeLogRecord(Serialize): method __init__ (line 24) | def __init__(self): method record (line 29) | def record(self, record: logging.LogRecord) -> str: FILE: src/python/web/serialize/serialize_model.py class SerializeModel (line 11) | class SerializeModel(Serialize): class UpdateEvent (line 17) | class UpdateEvent: class Change (line 18) | class Change(Enum): method __init__ (line 23) | def __init__(self, change: Change, old_file: Optional[ModelFile], ne... method __model_file_to_json_dict (line 64) | def __model_file_to_json_dict(model_file: ModelFile) -> dict: method model (line 88) | def model(self, model_files: List[ModelFile]) -> str: method update_event (line 98) | def update_event(self, event: UpdateEvent): FILE: src/python/web/serialize/serialize_status.py class SerializeStatusJson (line 9) | class SerializeStatusJson: method status (line 21) | def status(status: Status) -> str: class SerializeStatus (line 46) | class SerializeStatus(Serialize): method status (line 55) | def status(self, status: Status) -> str: FILE: src/python/web/utils.py class StreamQueue (line 10) | class StreamQueue(Generic[T]): method __init__ (line 17) | def __init__(self): method put (line 20) | def put(self, event: T): method get_next_event (line 23) | def get_next_event(self) -> Optional[T]: FILE: src/python/web/web_app.py class IHandler (line 14) | class IHandler(ABC): method add_routes (line 19) | def add_routes(self, web_app: "WebApp"): class IStreamHandler (line 28) | class IStreamHandler(ABC): method setup (line 33) | def setup(self): method get_value (line 37) | def get_value(self) -> Optional[str]: method cleanup (line 41) | def cleanup(self): method register (line 45) | def register(cls, web_app: "WebApp", **kwargs): class WebApp (line 55) | class WebApp(bottle.Bottle): method __init__ (line 61) | def __init__(self, context: Context, controller: Controller): method add_default_routes (line 71) | def add_default_routes(self): method add_handler (line 90) | def add_handler(self, path: str, handler: Callable): method add_streaming_handler (line 93) | def add_streaming_handler(self, handler: Type[IStreamHandler], **kwargs): method process (line 96) | def process(self): method stop (line 103) | def stop(self): method __index (line 110) | def __index(self): method __static (line 118) | def __static(self, file_path: str): method __web_stream (line 126) | def __web_stream(self): FILE: src/python/web/web_app_builder.py class WebAppBuilder (line 16) | class WebAppBuilder: method __init__ (line 20) | def __init__(self, method build (line 33) | def build(self) -> WebApp: FILE: src/python/web/web_app_job.py class WebAppJob (line 14) | class WebAppJob(Job): method __init__ (line 19) | def __init__(self, context: Context, web_app: WebApp): method setup (line 28) | def setup(self): method execute (line 42) | def execute(self): method cleanup (line 46) | def cleanup(self): class MyWSGIHandler (line 52) | class MyWSGIHandler(httpserver.WSGIHandler): method wsgi_write_chunk (line 57) | def wsgi_write_chunk(self, chunk): class MyWSGIRefServer (line 63) | class MyWSGIRefServer(bottle.ServerAdapter): method __init__ (line 70) | def __init__(self, logger: logging.Logger, *args, **kwargs): method run (line 76) | def run(self, handler): method stop (line 84) | def stop(self):