SYMBOL INDEX (2806 symbols across 307 files) FILE: bin/bump_version.py function next_version (line 8) | def next_version(version_file): function bump_version_file (line 21) | def bump_version_file(filename=None): FILE: portia_server/db_repo/apps.py class DbRepoConfig (line 6) | class DbRepoConfig(AppConfig): FILE: portia_server/db_repo/migrations/0001_initial.py class Migration (line 9) | class Migration(migrations.Migration): FILE: portia_server/db_repo/migrations/slyd_to_django.sql type `objs_599dcce2` (line 8) | CREATE INDEX `objs_599dcce2` ON `objs` (`type`) type `objs_f7bd60b7` (line 9) | CREATE INDEX `objs_f7bd60b7` ON `objs` (`size`) type `refs_2063c160` (line 17) | CREATE INDEX `refs_2063c160` ON `refs` (`value`) FILE: portia_server/db_repo/models.py class PositiveTinyIntegerField (line 8) | class PositiveTinyIntegerField(PositiveSmallIntegerField): method db_type (line 9) | def db_type(self, connection): class PositiveBigIntegerField (line 16) | class PositiveBigIntegerField(BigIntegerField): method db_type (line 17) | def db_type(self, connection): class RealBinaryField (line 24) | class RealBinaryField(BinaryField): method db_type (line 25) | def db_type(self, connection): class CompressedBinaryField (line 32) | class CompressedBinaryField(BinaryField): method get_db_prep_save (line 33) | def get_db_prep_save(self, value, connection): method select_format (line 40) | def select_format(self, compiler, sql, params): class Objs (line 48) | class Objs(Model): class Meta (line 55) | class Meta(object): class Refs (line 60) | class Refs(Model): class Meta (line 65) | class Meta(object): FILE: portia_server/db_repo/repo.py class MysqlObjectStore (line 13) | class MysqlObjectStore(BaseObjectStore): method __init__ (line 16) | def __init__(self, repo): method _to_hexsha (line 27) | def _to_hexsha(self, sha): method _has_sha (line 35) | def _has_sha(self, sha): method _all_shas (line 39) | def _all_shas(self): method contains_loose (line 44) | def contains_loose(self, sha): method __iter__ (line 48) | def __iter__(self): method get_raw (line 52) | def get_raw(self, name): method add_object (line 67) | def add_object(self, obj): method delete_objects (line 77) | def delete_objects(self, object_ids): class MysqlRefsContainer (line 81) | class MysqlRefsContainer(RefsContainer): method __init__ (line 86) | def __init__(self, repo): method allkeys (line 92) | def allkeys(self): method read_loose_ref (line 96) | def read_loose_ref(self, name): method set_symbolic_ref (line 107) | def set_symbolic_ref(self, name, other): method set_if_equals (line 110) | def set_if_equals(self, name, old_ref, new_ref): method add_if_new (line 119) | def add_if_new(self, name, ref): method remove_if_equals (line 125) | def remove_if_equals(self, name, old_ref): method _update_ref (line 131) | def _update_ref(self, name, value): method _remove_ref (line 136) | def _remove_ref(self, name): class MysqlRepo (line 140) | class MysqlRepo(BaseRepo): method __init__ (line 147) | def __init__(self, name): method head (line 155) | def head(self): method init_bare (line 160) | def init_bare(cls, name): method open (line 165) | def open(cls, name): method repo_exists (line 170) | def repo_exists(cls, name): method list_repos (line 175) | def list_repos(cls): method delete_repo (line 180) | def delete_repo(cls, name): FILE: portia_server/portia_api/apps.py class PortiaApiConfig (line 6) | class PortiaApiConfig(AppConfig): FILE: portia_server/portia_api/errors.py class BaseError (line 1) | class BaseError(Exception): method __init__ (line 2) | def __init__(self, status, title, body=''): method title (line 8) | def title(self): method body (line 12) | def body(self): method status (line 16) | def status(self): method __repr__ (line 19) | def __repr__(self): method __str__ (line 22) | def __str__(self): class BaseHTTPError (line 26) | class BaseHTTPError(BaseError): method __init__ (line 29) | def __init__(self, title, body=''): class BadRequest (line 33) | class BadRequest(BaseHTTPError): class Forbidden (line 37) | class Forbidden(BaseHTTPError): class NotFound (line 41) | class NotFound(BaseHTTPError): class InternalServerError (line 45) | class InternalServerError(BaseHTTPError): FILE: portia_server/portia_api/jsonapi/exceptions.py class JsonApiValidationError (line 13) | class JsonApiValidationError(ValidationError): method __init__ (line 14) | def __init__(self, detail): function render_exception (line 25) | def render_exception(status_code, detail): class JsonApiBadRequestError (line 36) | class JsonApiBadRequestError(APIException): class JsonApiNotFoundError (line 42) | class JsonApiNotFoundError(APIException): class JsonApiConflictError (line 47) | class JsonApiConflictError(APIException): class JsonApiFeatureNotAvailableError (line 52) | class JsonApiFeatureNotAvailableError(JsonApiBadRequestError): class JsonApiGeneralException (line 56) | class JsonApiGeneralException(APIException): method __init__ (line 57) | def __init__(self, detail=None, status_code=None): function jsonapi_exception_handler (line 63) | def jsonapi_exception_handler(exc, context): FILE: portia_server/portia_api/jsonapi/parsers.py class JSONApiParser (line 6) | class JSONApiParser(JSONParser): FILE: portia_server/portia_api/jsonapi/registry.py function get_schema (line 11) | def get_schema(schema_type): FILE: portia_server/portia_api/jsonapi/relationships.py class Relationship (line 9) | class Relationship(BaseRelationship): method __init__ (line 10) | def __init__(self, **kwargs): method schema (line 15) | def schema(self): method include_resource_linkage (line 23) | def include_resource_linkage(self): method get_related_url (line 26) | def get_related_url(self, obj): method get_self_url (line 34) | def get_self_url(self, obj): method get_resource_linkage (line 42) | def get_resource_linkage(self, value): method _serialize (line 48) | def _serialize(self, value, attr, obj): class PolymorphicRelationship (line 55) | class PolymorphicRelationship(Relationship): method __init__ (line 56) | def __init__(self, **kwargs): method _serialize (line 59) | def _serialize(self, value, attr, obj): method _deserialize (line 94) | def _deserialize(self, value, attr, data): FILE: portia_server/portia_api/jsonapi/renderers.py class JSONRenderer (line 6) | class JSONRenderer(BaseJSONRenderer): method get_indent (line 9) | def get_indent(self, accepted_media_type, renderer_context): class JSONApiRenderer (line 17) | class JSONApiRenderer(JSONRenderer): method render (line 20) | def render(self, data, accepted_media_type=None, renderer_context=None): FILE: portia_server/portia_api/jsonapi/response.py class JSONResponse (line 5) | class JSONResponse(HttpResponse): method __init__ (line 9) | def __init__(self, data, **kwargs): FILE: portia_server/portia_api/jsonapi/serializers.py class JsonApiSerializerMeta (line 37) | class JsonApiSerializerMeta(SchemaMeta): method __new__ (line 39) | def __new__(mcs, name, bases, attrs): class JsonApiSerializerOpts (line 111) | class JsonApiSerializerOpts(SchemaOpts): method __init__ (line 112) | def __init__(self, meta): class JsonApiSerializer (line 132) | class JsonApiSerializer(with_metaclass(JsonApiSerializerMeta, BaseSchema)): method __init__ (line 135) | def __init__(self, instance=None, data=None, storage=None, only=(), method data (line 212) | def data(self): method errors (line 216) | def errors(self): method validated_data (line 222) | def validated_data(self): method validated_profile_updates_data (line 228) | def validated_profile_updates_data(self): method deserialize_related_model (line 233) | def deserialize_related_model(self, model, id_): method update (line 240) | def update(self, instance, validated_data): method create (line 276) | def create(self, validated_data): method apply_profile_updates (line 302) | def apply_profile_updates(self, validated_data, serializers): method save (line 324) | def save(self): method delete (line 354) | def delete(self): method is_valid (line 366) | def is_valid(self, raise_exception=False): method load_profile_updates (line 396) | def load_profile_updates(self): method sort_collection (line 465) | def sort_collection(self, models, many): method format_json_api_response (line 480) | def format_json_api_response(self, data, many): method format_item (line 525) | def format_item(self, item): method get_top_level_links (line 537) | def get_top_level_links(self, data, many): method get_resource_links (line 542) | def get_resource_links(self, item): method get_url (line 548) | def get_url(self, obj): method add_includes (line 551) | def add_includes(self, includes): method format_profile_references (line 564) | def format_profile_references(self, instances): method add_profile_to_response (line 577) | def add_profile_to_response(self, profile, alias, data, response): class JsonApiPolymorphicSerializer (line 584) | class JsonApiPolymorphicSerializer(object): method __new__ (line 585) | def __new__(cls, base, default_model, instance=None, data=None, many=F... method __init__ (line 616) | def __init__(self, base, default_model, instance=None, data=None, method data (line 625) | def data(self): FILE: portia_server/portia_api/jsonapi/utils.py function camel_case_to_dashes (line 49) | def camel_case_to_dashes(value): function dasherize (line 53) | def dasherize(value): function type_from_model_name (line 57) | def type_from_model_name(value): function deep_getattr (line 61) | def deep_getattr(obj, key): function should_include_field (line 68) | def should_include_field(field, include, exclude): function order_dict (line 76) | def order_dict(data, ordered_keys, key_map_cache={}): function get_status_title (line 93) | def get_status_title(status_code): FILE: portia_server/portia_api/resources/annotations.py class AnnotationRoute (line 6) | class AnnotationRoute(BaseProjectModelRoute): method sample (line 12) | def sample(self): method perform_create (line 16) | def perform_create(self, serializer): method get_instance (line 20) | def get_instance(self): method get_collection (line 23) | def get_collection(self): method get_detail_kwargs (line 29) | def get_detail_kwargs(self): FILE: portia_server/portia_api/resources/extractors.py class ExtractorRoute (line 5) | class ExtractorRoute(BaseProjectModelRoute): method get_instance (line 9) | def get_instance(self): method get_collection (line 12) | def get_collection(self): FILE: portia_server/portia_api/resources/fields.py class FieldRoute (line 7) | class FieldRoute(BaseProjectModelRoute): method perform_create (line 11) | def perform_create(self, serializer): method get_instance (line 15) | def get_instance(self): method get_collection (line 18) | def get_collection(self): method destroy (line 21) | def destroy(self, *args, **kwargs): method _destroy_error (line 27) | def _destroy_error(self, annotation_count): method _annotation_count (line 34) | def _annotation_count(self): method _load_annotations (line 38) | def _load_annotations(self): FILE: portia_server/portia_api/resources/items.py class ItemRoute (line 6) | class ItemRoute(BaseProjectModelRoute): method spider (line 11) | def spider(self): method perform_create (line 14) | def perform_create(self, serializer): method get_instance (line 18) | def get_instance(self): method get_collection (line 21) | def get_collection(self): method get_detail_kwargs (line 27) | def get_detail_kwargs(self): FILE: portia_server/portia_api/resources/models.py class SlydSchema (line 7) | class SlydSchema(Schema): method empty_data (line 11) | def empty_data(): method __init__ (line 16) | def __init__(self, *args, **kwargs): method project_id (line 26) | def project_id(self): method spider_id (line 30) | def spider_id(self): method sample_id (line 34) | def sample_id(self): method schema_id (line 38) | def schema_id(self): method item_id (line 42) | def item_id(self): method field_id (line 46) | def field_id(self): method _dump_relationship_properties (line 50) | def _dump_relationship_properties(self, item): class ProjectSchema (line 64) | class ProjectSchema(SlydSchema): class Meta (line 87) | class Meta: class SchemaSchema (line 91) | class SchemaSchema(SlydSchema): class Meta (line 108) | class Meta: class FieldSchema (line 112) | class FieldSchema(SlydSchema): class Meta (line 133) | class Meta: class SpiderSchema (line 137) | class SpiderSchema(SlydSchema): method _dump_login_data (line 167) | def _dump_login_data(self, item): method _load_login_data (line 177) | def _load_login_data(self, item): class Meta (line 190) | class Meta: class SampleSchema (line 194) | class SampleSchema(SlydSchema): method dump (line 238) | def dump(self, obj, many=None, update_fields=True, **kwargs): class Meta (line 248) | class Meta: class BaseAnnotationSchema (line 252) | class BaseAnnotationSchema(SlydSchema): method parent_id (line 279) | def parent_id(self): method _dump_parent_id (line 283) | def _dump_parent_id(self, item): class AnnotationSchema (line 300) | class AnnotationSchema(BaseAnnotationSchema): class Meta (line 324) | class Meta: class ItemAnnotationSchema (line 328) | class ItemAnnotationSchema(BaseAnnotationSchema): class Meta (line 343) | class Meta: class ExtractorSchema (line 347) | class ExtractorSchema(SlydSchema): method _dump_extractor_attributes (line 359) | def _dump_extractor_attributes(self, item): class Meta (line 367) | class Meta: class HtmlSchema (line 371) | class HtmlSchema(SlydSchema): class Meta (line 375) | class Meta: class RenderedBody (line 379) | class RenderedBody(SlydSchema): class Meta (line 383) | class Meta: class OriginalBody (line 387) | class OriginalBody(SlydSchema): class Meta (line 391) | class Meta: class ItemSchema (line 395) | class ItemSchema(SlydSchema): method _dump_parent_id (line 433) | def _dump_parent_id(self, item): class Meta (line 440) | class Meta: FILE: portia_server/portia_api/resources/projects.py class ProjectDownloadMixin (line 27) | class ProjectDownloadMixin(object): method download (line 29) | def download(self, *args, **kwargs): method commit_from_short_sha (line 61) | def commit_from_short_sha(self, version): class BaseProjectRoute (line 72) | class BaseProjectRoute(JsonApiRoute): method projects (line 74) | def projects(self): method project (line 79) | def project(self): class BaseProjectModelRoute (line 88) | class BaseProjectModelRoute(BaseProjectRoute, JsonApiModelRoute): class ProjectRoute (line 92) | class ProjectRoute(ProjectDownloadMixin, BaseProjectRoute, class FakeStorage (line 97) | class FakeStorage(object): method exists (line 98) | def exists(self, *args, **kwargs): method listdir (line 101) | def listdir(self, *args, **kwargs): method create (line 104) | def create(self, request): method status (line 138) | def status(self, *args, **kwargs): method publish (line 150) | def publish(self, *args, **kwargs): method deploy (line 171) | def deploy(self, *args, **kwargs): method reset (line 176) | def reset(self, *args, **kwargs): method copy (line 185) | def copy(self, *args, **kwargs): method rollback (line 209) | def rollback(self, *args, **kwargs): method get_instance (line 227) | def get_instance(self): method get_collection (line 230) | def get_collection(self): method get_detail_kwargs (line 236) | def get_detail_kwargs(self): method get_list_kwargs (line 259) | def get_list_kwargs(self): method get_project_changes (line 268) | def get_project_changes(self): method _deploy (line 276) | def _deploy(self): FILE: portia_server/portia_api/resources/response.py class BaseApiResource (line 10) | class BaseApiResource(object): method render (line 11) | def render(self, request): method render_async (line 14) | def render_async(self, request): class JsonApiResource (line 23) | class JsonApiResource(BaseApiResource): method __init__ (line 24) | def __init__(self, status, data=None): method render (line 28) | def render(self, request): class FileResponse (line 43) | class FileResponse(HttpResponse): method __init__ (line 44) | def __init__(self, name, content, *args, **kwargs): FILE: portia_server/portia_api/resources/route.py class JsonApiRoute (line 30) | class JsonApiRoute(ViewSet): method __str__ (line 37) | def __str__(self): method __repr__ (line 40) | def __repr__(self): method method (line 44) | def method(self): method path (line 48) | def path(self): method query (line 52) | def query(self): method data (line 56) | def data(self): method user (line 60) | def user(self): method storage (line 64) | def storage(self): method dispatch (line 71) | def dispatch(self, request, *args, **kwargs): method handle_exception (line 74) | def handle_exception(self, exc): method get_instance (line 85) | def get_instance(self): method get_collection (line 88) | def get_collection(self): method filter_collection (line 91) | def filter_collection(self, collection): method get_serializer (line 136) | def get_serializer(self, instance=None, data=None, many=False, **kwargs): method get_detail_kwargs (line 158) | def get_detail_kwargs(self): method get_list_kwargs (line 161) | def get_list_kwargs(self): method get_request_kwargs (line 164) | def get_request_kwargs(self): class CreateModelMixin (line 193) | class CreateModelMixin(object): method create (line 194) | def create(self, *args, **kwargs): method perform_create (line 208) | def perform_create(self, serializer): method get_success_headers (line 211) | def get_success_headers(self, data): class ListModelMixin (line 220) | class ListModelMixin(object): method list (line 221) | def list(self, *args, **kwargs): class RetrieveModelMixin (line 231) | class RetrieveModelMixin(object): method retrieve (line 232) | def retrieve(self, *args, **kwargs): class UpdateModelMixin (line 242) | class UpdateModelMixin(object): method update (line 243) | def update(self, *args, **kwargs): method partial_update (line 266) | def partial_update(self, request, *args, **kwargs): method perform_update (line 270) | def perform_update(self, serializer): class DestroyModelMixin (line 274) | class DestroyModelMixin(object): method destroy (line 275) | def destroy(self, *args, **kwargs): method perform_destroy (line 296) | def perform_destroy(self, serializer): class JsonApiModelRoute (line 300) | class JsonApiModelRoute(JsonApiRoute, ListModelMixin, RetrieveModelMixin, FILE: portia_server/portia_api/resources/samples.py class SampleRoute (line 6) | class SampleRoute(BaseProjectModelRoute): method perform_create (line 10) | def perform_create(self, serializer): method get_instance (line 14) | def get_instance(self): method get_collection (line 17) | def get_collection(self): method get_detail_kwargs (line 28) | def get_detail_kwargs(self): method get_list_kwargs (line 45) | def get_list_kwargs(self): FILE: portia_server/portia_api/resources/schemas.py class SchemaRoute (line 7) | class SchemaRoute(BaseProjectModelRoute): method get_instance (line 11) | def get_instance(self): method get_collection (line 14) | def get_collection(self): method get_list_kwargs (line 17) | def get_list_kwargs(self): method update (line 28) | def update(self, *args, **kwargs): method destroy (line 37) | def destroy(self, *args, **kwargs): method _item_uses_schema (line 52) | def _item_uses_schema(self, item): FILE: portia_server/portia_api/resources/serializers.py function clear_auto_created (line 15) | def clear_auto_created(instance): class SpiderListSerializer (line 21) | class SpiderListSerializer(JsonApiSerializer): class Meta (line 22) | class Meta: class ProjectSerializer (line 32) | class ProjectSerializer(JsonApiSerializer): class Meta (line 33) | class Meta: class SchemaSerializer (line 50) | class SchemaSerializer(JsonApiSerializer): class Meta (line 51) | class Meta: method update (line 75) | def update(self, instance, validated_data): class FieldSerializer (line 82) | class FieldSerializer(JsonApiSerializer): class Meta (line 83) | class Meta: method create (line 102) | def create(self, validated_data): method update (line 107) | def update(self, instance, validated_data): method delete (line 113) | def delete(self): class ExtractorSerializer (line 118) | class ExtractorSerializer(JsonApiSerializer): class Meta (line 119) | class Meta: class SpiderSerializer (line 136) | class SpiderSerializer(JsonApiSerializer): class Meta (line 137) | class Meta: method delete (line 157) | def delete(self): class SampleSerializer (line 163) | class SampleSerializer(JsonApiSerializer): class Meta (line 164) | class Meta: method create (line 190) | def create(self, validated_data): method update (line 208) | def update(self, instance, validated_data): class ItemSerializer (line 215) | class ItemSerializer(JsonApiSerializer): class Meta (line 216) | class Meta: method create (line 244) | def create(self, validated_data): method update (line 266) | def update(self, instance, validated_data): method delete (line 297) | def delete(self): class AnnotationSerializer (line 308) | class AnnotationSerializer(JsonApiSerializer): class Meta (line 309) | class Meta: method create (line 328) | def create(self, validated_data): method update (line 346) | def update(self, instance, validated_data): class RenderedBodySerializer (line 361) | class RenderedBodySerializer(JsonApiSerializer): class Meta (line 362) | class Meta: class OriginalBodySerializer (line 376) | class OriginalBodySerializer(JsonApiSerializer): class Meta (line 377) | class Meta: FILE: portia_server/portia_api/resources/spiders.py class SpiderRoute (line 18) | class SpiderRoute(ProjectDownloadMixin, BaseProjectModelRoute): method get_instance (line 23) | def get_instance(self): method get_collection (line 26) | def get_collection(self): method extract (line 30) | def extract(self, *args, **kwargs): method _build_pages (line 49) | def _build_pages(self, spider): method rename (line 53) | def rename(self, *args, **kwargs): method schedule (line 78) | def schedule(self, *args, **kwargs): FILE: portia_server/portia_api/routers.py class Router (line 9) | class Router(SimpleRouter): method __init__ (line 10) | def __init__(self, trailing_slash=False): method get_lookup_regex (line 13) | def get_lookup_regex(self, viewset, lookup_prefix=''): class NestedRouter (line 17) | class NestedRouter(NestedSimpleRouter, Router): method __init__ (line 18) | def __init__(self, parent_router, parent_prefix, trailing_slash=False, FILE: portia_server/portia_api/tests/test_routes.py class TestRoute (line 8) | class TestRoute(unittest.TestCase): method test_route_representation (line 9) | def test_route_representation(self): FILE: portia_server/portia_api/utils/annotations.py function choose_field_type (line 26) | def choose_field_type(annotation): FILE: portia_server/portia_api/utils/copy.py class MissingModelException (line 8) | class MissingModelException(Exception): class ModelCopier (line 12) | class ModelCopier(object): method __init__ (line 15) | def __init__(self, project, storage, from_project_id): method copy (line 32) | def copy(self, models): method copy_spider (line 53) | def copy_spider(self, spider): method copy_sample (line 60) | def copy_sample(self, sample, spider): method copy_item (line 77) | def copy_item(self, item, schema, sample): method copy_schema (line 85) | def copy_schema(self, schema): method copy_annotation (line 100) | def copy_annotation(self, annotation, item, field): method copy_extractors (line 110) | def copy_extractors(self, extractors): method group (line 122) | def group(self, models): method _copy_field (line 137) | def _copy_field(self, field, schema): method _copy_extractor (line 143) | def _copy_extractor(self, extractor): method _copy_body (line 155) | def _copy_body(self, body, sample): method _unique_id (line 163) | def _unique_id(self, spider_id): FILE: portia_server/portia_api/utils/deploy/base.py class BaseDeploy (line 4) | class BaseDeploy(object): method __init__ (line 5) | def __init__(self, project): method build_archive (line 11) | def build_archive(self): method _get_config (line 15) | def _get_config(self): method deploy (line 18) | def deploy(self, target=None): method schedule (line 21) | def schedule(self, spider, args=None, settings=None, target=None): FILE: portia_server/portia_api/utils/deploy/package.py class EggInfo (line 10) | class EggInfo(object): method __init__ (line 11) | def __init__(self, project, archive): method write (line 16) | def write(self): method _write_file (line 24) | def _write_file(self, filename, contents): method build_pkg_info (line 30) | def build_pkg_info(self): method build_sources (line 39) | def build_sources(self): method build_top_level (line 42) | def build_top_level(self): method build_dependency (line 50) | def build_dependency(self): method build_entry_points (line 53) | def build_entry_points(self): method build_zip_safe (line 59) | def build_zip_safe(self): FILE: portia_server/portia_api/utils/deploy/scrapinghub.py class ScrapinghubDeploy (line 19) | class ScrapinghubDeploy(BaseDeploy): method _get_config (line 30) | def _get_config(self): method _default_config (line 44) | def _default_config(self): method deploy (line 54) | def deploy(self, target='default'): method schedule (line 82) | def schedule(self, spider, args=None, settings=None, target='default'): FILE: portia_server/portia_api/utils/deploy/scrapyd.py class ScrapydDeploy (line 12) | class ScrapydDeploy(BaseDeploy): method _get_config (line 13) | def _get_config(self): method _get_config_defaults (line 25) | def _get_config_defaults(self): method deploy (line 45) | def deploy(self, target='default'): method schedule (line 68) | def schedule(self, spider, args=None, settings=None, target=None): method _schedule_data (line 81) | def _schedule_data(self, spider_id, args): FILE: portia_server/portia_api/utils/download.py function walk (line 35) | def walk(storage, dirname=''): class ProjectArchiver (line 43) | class ProjectArchiver(object): method __init__ (line 48) | def __init__(self, storage, required_files=None, *, project=None): method archive (line 56) | def archive(self, spiders=None, **kwargs): method _add_files (line 69) | def _add_files(self, spiders): method _add_file (line 95) | def _add_file(self, filename, contents, tstamp): method _add_spider (line 105) | def _add_spider(self, file_path, templates, extractors): method _deleted_spider (line 117) | def _deleted_spider(self, file_path, spider_data, templates): method _spider_templates (line 130) | def _spider_templates(self, spider_templates, extractors): method add_egg_info (line 154) | def add_egg_info(self): method _spider_name (line 157) | def _spider_name(self, file_path): method _name (line 166) | def _name(self, file_path): method _spider_path (line 175) | def _spider_path(self, file_path): method _paths (line 180) | def _paths(self, spiders): method _template_paths (line 198) | def _template_paths(self, spiders, files): method list_files (line 210) | def list_files(self): method read_file (line 213) | def read_file(self, filename, deserialize=False): class CodeProjectArchiver (line 227) | class CodeProjectArchiver(ProjectArchiver): method archive (line 228) | def archive(self, spiders=None, **kwargs): method _process_name (line 262) | def _process_name(self): FILE: portia_server/portia_api/utils/extract.py class FetchError (line 14) | class FetchError(Exception): method __init__ (line 17) | def __init__(self, errors): method __str__ (line 23) | def __str__(self): function get_page (line 27) | def get_page(times, url): function _load_urls (line 45) | def _load_urls(urls): function load_urls (line 53) | def load_urls(urls): class Pages (line 57) | class Pages(object): method __init__ (line 58) | def __init__(self, urls, spider): method fetch (line 67) | def fetch(self): method process (line 82) | def process(self, url, page): method extract_items (line 85) | def extract_items(self): FILE: portia_server/portia_api/utils/projects.py function unique_name (line 1) | def unique_name(base_name, disallow=(), initial_suffix=''): FILE: portia_server/portia_api/utils/spiders.py function load_spider_data (line 7) | def load_spider_data(model): function load_spider (line 31) | def load_spider(model): FILE: portia_server/portia_orm/apps.py class PortiaOrmConfig (line 6) | class PortiaOrmConfig(AppConfig): FILE: portia_server/portia_orm/base.py class ModelOpts (line 31) | class ModelOpts(object): method __init__ (line 33) | def __init__(self, meta, model): method initialize_boolean (line 51) | def initialize_boolean(self, key, meta): class ModelMeta (line 58) | class ModelMeta(type): method __new__ (line 60) | def __new__(mcs, name, bases, attrs): class Model (line 152) | class Model(object, metaclass=ModelMeta): class Meta (line 168) | class Meta: method __init__ (line 171) | def __init__(self, storage=None, snapshots=None, _data_key=unspecified, method __eq__ (line 209) | def __eq__(self, other): method __hash__ (line 220) | def __hash__(self): method __ne__ (line 223) | def __ne__(self, other): method __repr__ (line 226) | def __repr__(self, *field_names): method __setattr__ (line 248) | def __setattr__(self, key, value): method with_snapshots (line 255) | def with_snapshots(self, snapshots=None): method shared_data_store (line 265) | def shared_data_store(cls): method loaded (line 270) | def loaded(cls): method _file_model (line 274) | def _file_model(cls): method generate_pk (line 297) | def generate_pk(cls, storage): method pk (line 305) | def pk(self): method data_store (line 309) | def data_store(self): method has_data (line 316) | def has_data(self, key): method get_data (line 323) | def get_data(self, key, default=unspecified): method set_data (line 335) | def set_data(self, key, value): method dump (line 338) | def dump(self, state='working'): method dumps (line 349) | def dumps(self, state='working'): method rollback (line 353) | def rollback(self): method save (line 356) | def save(self, only=None): method _stage_changes (line 370) | def _stage_changes(self, only=None): method _commit_changes (line 391) | def _commit_changes(self, saved_paths=None, deleted_paths=None): method _get_object_to_dump (line 432) | def _get_object_to_dump(self, model, parent_snapshots): method _get_parent_object (line 448) | def _get_parent_object(self, parent_snapshots): method _staged_model_references (line 452) | def _staged_model_references(self, load_relationships=False): method delete (line 471) | def delete(self): method _stage_delete (line 481) | def _stage_delete(self, collector): method _commit_delete (line 496) | def _commit_delete(self, collector, saved_paths=None, deleted_paths=No... method load (line 536) | def load(cls, storage, instance=None, **kwargs): method storage_path (line 593) | def storage_path(cls, data, snapshots=None): method resolve_attributes (line 608) | def resolve_attributes(self, *attributes, **kwargs): method copy (line 630) | def copy(self, new_id=None, storage=None): FILE: portia_server/portia_orm/collection.py function set_related (line 20) | def set_related(model, relationship_name, related): function clear_related (line 28) | def clear_related(model, relationship_name, related): class OwnedList (line 36) | class OwnedList(list): method __init__ (line 37) | def __init__(self, iterable=None, owner=None, attrname=None, method field (line 76) | def field(self): method with_snapshots (line 79) | def with_snapshots(self, snapshots=None): method __setitem__ (line 87) | def __setitem__(self, index, value): method __delitem__ (line 122) | def __delitem__(self, index): method __getslice__ (line 127) | def __getslice__(self, i, j): method __setslice__ (line 130) | def __setslice__(self, i, j, value): method __delslice__ (line 133) | def __delslice__(self, i, j): method __contains__ (line 136) | def __contains__(self, key): method append (line 147) | def append(self, value): method extend (line 153) | def extend(self, iterable): method insert (line 157) | def insert(self, index, value): method remove (line 163) | def remove(self, value): method pop (line 169) | def pop(self, index=-1): method index (line 175) | def index(self, value, start=None, stop=None): method clear (line 190) | def clear(self): method _validate (line 194) | def _validate(self, value): method _update_owner_data (line 197) | def _update_owner_data(self): method _populate_cache (line 202) | def _populate_cache(self): class FieldCollection (line 207) | class FieldCollection(OwnedList): method _validate (line 208) | def _validate(self, value): class ModelCollection (line 216) | class ModelCollection(OwnedList): method related_name (line 226) | def related_name(self): method __getitem__ (line 231) | def __getitem__(self, key): method __setitem__ (line 244) | def __setitem__(self, key, value): method __delitem__ (line 257) | def __delitem__(self, key): method __repr__ (line 263) | def __repr__(self): method append (line 276) | def append(self, obj): method add (line 283) | def add(self, obj): method extend (line 289) | def extend(self, iterable): method update (line 293) | def update(self, iterable): method insert (line 297) | def insert(self, index, obj): method remove (line 304) | def remove(self, obj): method discard (line 308) | def discard(self, obj): method pop (line 315) | def pop(self, key=unspecified): method get (line 330) | def get(self, key, default=None): method keys (line 334) | def keys(self): method dump (line 338) | def dump(self, state='working'): method dumps (line 354) | def dumps(self, state='working'): method _validate (line 358) | def _validate(self, value): method _get_index (line 361) | def _get_index(self, index, default=None): method _key_to_index (line 367) | def _key_to_index(self, key): method _set_related (line 384) | def _set_related(self, related): method _clear_related (line 391) | def _clear_related(self, related): class ListDescriptor (line 399) | class ListDescriptor(object): method __init__ (line 400) | def __init__(self, attrname): method __get__ (line 403) | def __get__(self, instance, instance_type=None): method __set__ (line 413) | def __set__(self, instance, values): method new_collection (line 423) | def new_collection(self, instance): method replace_collection (line 427) | def replace_collection(self, collection, values): FILE: portia_server/portia_orm/datastore.py class DataStoreHandler (line 6) | class DataStoreHandler(local): method data_store (line 8) | def data_store(self): method data_store (line 17) | def data_store(self, value): method data_store (line 21) | def data_store(self): method loaded (line 25) | def loaded(self): method loaded (line 34) | def loaded(self, value): method loaded (line 38) | def loaded(self): function data_store_context (line 43) | def data_store_context(): FILE: portia_server/portia_orm/deletion.py class Collector (line 14) | class Collector(set): method __init__ (line 15) | def __init__(self): method save_instance (line 20) | def save_instance(self, instance, *fields): method delete_instance (line 28) | def delete_instance(self, instance): function CASCADE (line 36) | def CASCADE(collector, instance, field_name, related_instance): function CLEAR (line 45) | def CLEAR(collector, instance, field_name, related_instance): function PROTECT (line 55) | def PROTECT(collector, instance, field_name, related_instance): FILE: portia_server/portia_orm/exceptions.py class ImproperlyConfigured (line 9) | class ImproperlyConfigured(Exception): class PathResolutionError (line 13) | class PathResolutionError(Exception): class ProtectedError (line 17) | class ProtectedError(Exception): FILE: portia_server/portia_orm/fields.py class FieldDescriptor (line 32) | class FieldDescriptor(object): method __init__ (line 34) | def __init__(self, attrname, field): method default (line 39) | def default(self): method __get__ (line 46) | def __get__(self, instance, instance_type=None): method __set__ (line 62) | def __set__(self, instance, value): class Field (line 68) | class Field(fields.Field): method __init__ (line 69) | def __init__(self, **kwargs): method contribute_to_class (line 78) | def contribute_to_class(self, cls, attrname): method get_dependencies (line 81) | def get_dependencies(self, cls): method serialize (line 86) | def serialize(self, attr, obj, accessor=None): class ValidatedField (line 94) | class ValidatedField(fields.ValidatedField, Field): class Validator (line 99) | class Validator(validate.Validator): method __init__ (line 102) | def __init__(self, error=None): method _format_error (line 105) | def _format_error(self, value): method fail (line 108) | def fail(self, value): method __call__ (line 111) | def __call__(self, value): method __init__ (line 116) | def __init__(self, *args, **kwargs): method _validated (line 120) | def _validated(self, value): class String (line 125) | class String(fields.String, Field): class Boolean (line 129) | class Boolean(fields.Boolean, Field): class Integer (line 133) | class Integer(fields.Integer, Field): class Url (line 137) | class Url(fields.Url, Field): class Domain (line 141) | class Domain(ValidatedField, String): class ValidDomain (line 146) | class ValidDomain(ValidatedField.Validator): method __call__ (line 160) | def __call__(self, value): class Regexp (line 169) | class Regexp(ValidatedField, String): class ValidRegexp (line 174) | class ValidRegexp(ValidatedField.Validator): method __call__ (line 177) | def __call__(self, value): class DependantField (line 187) | class DependantField(Field): method __init__ (line 193) | def __init__(self, when, then, **kwargs): method get_dependencies (line 202) | def get_dependencies(self, cls): method serialize (line 205) | def serialize(self, attr, obj, accessor=None): method deserialize (line 209) | def deserialize(self, value, attr=None, data=None): method _add_to_schema (line 213) | def _add_to_schema(self, field_name, schema): method _field_for_data (line 218) | def _field_for_data(self, data): class List (line 226) | class List(fields.List, Field): method contribute_to_class (line 227) | def contribute_to_class(self, cls, attrname): class Fragment (line 231) | class Fragment(ValidatedField, Field): class ValidType (line 232) | class ValidType(ValidatedField.Validator): method __call__ (line 235) | def __call__(self, value): class ValidValue (line 241) | class ValidValue(ValidatedField.Validator): method invalid_range (line 246) | def invalid_range(self, value): method __call__ (line 252) | def __call__(self, value): method __init__ (line 257) | def __init__(self, *args, **kwargs): class StartUrl (line 262) | class StartUrl(Schema): FILE: portia_server/portia_orm/middleware.py class ORMDataStoreMiddleware (line 4) | class ORMDataStoreMiddleware(object): method __init__ (line 5) | def __init__(self, get_response=None): method __call__ (line 8) | def __call__(self, request): FILE: portia_server/portia_orm/models.py class Project (line 39) | class Project(Model): method version (line 51) | def version(self): class Meta (line 59) | class Meta: function CASCADE_AUTO_OR_CLEAR (line 63) | def CASCADE_AUTO_OR_CLEAR(collector, instance, field_name, related_insta... class Schema (line 70) | class Schema(Model): class Meta (line 81) | class Meta: method unwrap_envelopes (line 86) | def unwrap_envelopes(self, data, many): method name_from_id (line 90) | def name_from_id(self, data): method add_fake_items (line 96) | def add_fake_items(self, data): method remove_fake_items (line 101) | def remove_fake_items(self, data): method remove_auto_created_false (line 106) | def remove_auto_created_false(self, data): method wrap_envelopes (line 114) | def wrap_envelopes(self, data, many): class Field (line 118) | class Field(Model): class Meta (line 130) | class Meta: method __repr__ (line 134) | def __repr__(self): method unwrap_envelopes (line 138) | def unwrap_envelopes(self, data, many): method name_from_id (line 142) | def name_from_id(self, data): method add_fake_annotations (line 148) | def add_fake_annotations(self, data): method remove_fake_annotations (line 153) | def remove_fake_annotations(self, data): method remove_auto_created_false (line 158) | def remove_auto_created_false(self, data): method wrap_envelopes (line 164) | def wrap_envelopes(self, data, many): class Extractor (line 168) | class Extractor(Model): class Meta (line 180) | class Meta: method unwrap_envelopes (line 185) | def unwrap_envelopes(self, data, many): method to_type_and_value (line 189) | def to_type_and_value(self, data): method from_type_and_value (line 204) | def from_type_and_value(self, data): method wrap_envelopes (line 216) | def wrap_envelopes(self, data, many): class Spider (line 220) | class Spider(Model): class Meta (line 242) | class Meta: method __repr__ (line 245) | def __repr__(self): method load (line 249) | def load(cls, storage, instance=None, project=None, **kwargs): method populate_id (line 263) | def populate_id(self, data): method dump_templates (line 272) | def dump_templates(self, data): method normalize_start_urls (line 304) | def normalize_start_urls(self, data): method get_init_requests (line 312) | def get_init_requests(self, data): method set_init_requests (line 324) | def set_init_requests(self, data): method _is_perform_login (line 339) | def _is_perform_login(data): class OrderedAnnotationsMixin (line 344) | class OrderedAnnotationsMixin(object): method ordered_children (line 346) | def ordered_children(self): method ordered_annotations (line 355) | def ordered_annotations(self): method ordered_items (line 365) | def ordered_items(self): class Sample (line 374) | class Sample(Model, OrderedAnnotationsMixin): class Meta (line 388) | class Meta: method __repr__ (line 391) | def __repr__(self): method annotations (line 395) | def annotations(self): method load (line 399) | def load(cls, storage, instance=None, spider=None, **kwargs): method chain_load (line 410) | def chain_load(self, data): method migrate_sample (line 419) | def migrate_sample(self, data): method get_items (line 447) | def get_items(self, data): method _add_schemas (line 500) | def _add_schemas(serializer, schemas): method _populate_schema_id (line 515) | def _populate_schema_id(data, schema_id): method _migrate_html (line 527) | def _migrate_html(self, sample): method add_fields (line 546) | def add_fields(self, data): method save_raw (line 591) | def save_raw(serializer, data): method clean (line 598) | def clean(self, data): class BaseAnnotation (line 602) | class BaseAnnotation(Model): class Meta (line 607) | class Meta: class Item (line 611) | class Item(BaseAnnotation, OrderedAnnotationsMixin): class Meta (line 625) | class Meta: method __repr__ (line 629) | def __repr__(self): method owner_sample (line 634) | def owner_sample(self): method storage_path (line 642) | def storage_path(cls, data, snapshots=None): method _get_parent_object (line 655) | def _get_parent_object(self, parent_snapshots): method wrap_schema_envelopes (line 659) | def wrap_schema_envelopes(self, data): method remove_attributes (line 667) | def remove_attributes(self, data): method add_field (line 675) | def add_field(self, data): method add_attributes (line 680) | def add_attributes(self, data): method remove_type (line 697) | def remove_type(self, data): method unwrap_schema_envelopes (line 702) | def unwrap_schema_envelopes(self, data): class Annotation (line 709) | class Annotation(BaseAnnotation): class Meta (line 727) | class Meta: method __repr__ (line 732) | def __repr__(self): method owner_sample (line 736) | def owner_sample(self): method storage_path (line 740) | def storage_path(cls, data, snapshots=None): method generate_pk (line 754) | def generate_pk(cls, storage): method get_annotation_data (line 762) | def get_annotation_data(self, data): method set_annotation_data (line 800) | def set_annotation_data(self, data): class OriginalBody (line 827) | class OriginalBody(Model): method load (line 834) | def load(cls, storage, instance=None, sample=None, **kwargs): method populate_item (line 844) | def populate_item(self, data): method return_html (line 856) | def return_html(self, data): method dump (line 859) | def dump(self, state='working'): method dumps (line 870) | def dumps(self, state='working'): class Meta (line 873) | class Meta: class RenderedBody (line 881) | class RenderedBody(Model): method load (line 888) | def load(cls, storage, instance=None, sample=None, **kwargs): method populate_item (line 896) | def populate_item(self, data): method return_html (line 908) | def return_html(self, data): method dump (line 911) | def dump(self, state='working'): method dumps (line 922) | def dumps(self, state='working'): class Meta (line 925) | class Meta: FILE: portia_server/portia_orm/registry.py function get_model (line 14) | def get_model(model_name): function get_polymorphic_model (line 22) | def get_polymorphic_model(data): FILE: portia_server/portia_orm/relationships.py class BaseRelationshipDescriptor (line 18) | class BaseRelationshipDescriptor(object): method __init__ (line 20) | def __init__(self, model, attrname, related_name): method __get__ (line 25) | def __get__(self, instance, instance_type=None): method __set__ (line 28) | def __set__(self, instance, value): method __repr__ (line 31) | def __repr__(self): method model (line 37) | def model(self): method _validate (line 42) | def _validate(self, value): class BelongsToDescriptor (line 47) | class BelongsToDescriptor(BaseRelationshipDescriptor): method __get__ (line 48) | def __get__(self, instance, instance_type=None): method __set__ (line 53) | def __set__(self, instance, value): class HasManyDescriptor (line 67) | class HasManyDescriptor(ListDescriptor, BaseRelationshipDescriptor): method __init__ (line 68) | def __init__(self, *args, **kwargs): method new_collection (line 71) | def new_collection(self, instance): method replace_collection (line 88) | def replace_collection(self, collection, values): class HasOneDescriptor (line 93) | class HasOneDescriptor(BelongsToDescriptor): method __get__ (line 94) | def __get__(self, instance, instance_type=None): class BaseRelationship (line 109) | class BaseRelationship(fields.Nested): method __init__ (line 112) | def __init__(self, model, related_name, on_delete, ignore_in_file=False, method model (line 129) | def model(self): method nested (line 135) | def nested(self): method schema (line 139) | def schema(self): method _serialize (line 142) | def _serialize(self, nested_obj, attr, obj): method _deserialize (line 160) | def _deserialize(self, value, attr, data): method _get_field_for_polymorphic (line 184) | def _get_field_for_polymorphic(self, model): method _is_collection (line 195) | def _is_collection(self, value): method contribute_to_class (line 198) | def contribute_to_class(self, cls, attrname): method get_dependencies (line 228) | def get_dependencies(self, cls): method _includes_relationships (line 232) | def _includes_relationships(field, model): class BelongsTo (line 244) | class BelongsTo(BaseRelationship): class HasMany (line 248) | class HasMany(BaseRelationship): method __init__ (line 251) | def __init__(self, *args, **kwargs): class HasOne (line 256) | class HasOne(BaseRelationship): FILE: portia_server/portia_orm/serializers.py class FileSerializerOpts (line 13) | class FileSerializerOpts(schema.SchemaOpts): method __init__ (line 14) | def __init__(self, meta): class FileSerializer (line 33) | class FileSerializer(schema.Schema): method __init__ (line 36) | def __init__(self, *args, **kwargs): method __getattr__ (line 45) | def __getattr__(self, item): method get_attribute (line 49) | def get_attribute(self, attr, obj, default): method create_object (line 53) | def create_object(self, data): method select_snapshots (line 59) | def select_snapshots(self, instance): method order_keys (line 66) | def order_keys(self, data): method _do_load (line 74) | def _do_load(self, data, many=None, *args, **kwargs): method _wrap_only (line 94) | def _wrap_only(self, data): FILE: portia_server/portia_orm/snapshots.py class ModelSnapshots (line 8) | class ModelSnapshots(defaultdict): class ModelSnapshotsAccessor (line 11) | class ModelSnapshotsAccessor(object): method __init__ (line 14) | def __init__(self, instance, snapshots=None): method __getattr__ (line 18) | def __getattr__(self, name): method __setattr__ (line 32) | def __setattr__(self, name, value): method __init__ (line 38) | def __init__(self): method get (line 41) | def get(self, key, snapshots=None): method set (line 51) | def set(self, key, value, snapshot=None): method copy_from (line 56) | def copy_from(self, other): method dirty_fields (line 61) | def dirty_fields(self, changed, original): method update_snapshot (line 72) | def update_snapshot(self, destination, snapshots, fields=None): method clear_snapshot (line 79) | def clear_snapshot(self, snapshot, fields=None): method accessor (line 87) | def accessor(self, snapshots=None): FILE: portia_server/portia_orm/tests/models.py class ExampleModel (line 5) | class ExampleModel(Model): class RequiredFieldModel (line 10) | class RequiredFieldModel(Model): class SingleFileModel (line 15) | class SingleFileModel(Model): class Meta (line 19) | class Meta: class ManyFileModel (line 23) | class ManyFileModel(Model): class Meta (line 29) | class Meta: class ParamFileModel (line 34) | class ParamFileModel(Model): class Meta (line 39) | class Meta: class OneToOneModel1 (line 43) | class OneToOneModel1(Model): class Meta (line 49) | class Meta: class OneToOneModel2 (line 53) | class OneToOneModel2(Model): class Meta (line 59) | class Meta: class ChildModel (line 63) | class ChildModel(Model): class Meta (line 69) | class Meta: class ParentModel (line 74) | class ParentModel(Model): class Meta (line 80) | class Meta: class ManyToManyModel1 (line 84) | class ManyToManyModel1(Model): class Meta (line 90) | class Meta: class ManyToManyModel2 (line 94) | class ManyToManyModel2(Model): class Meta (line 100) | class Meta: class PolymorphicParentModel (line 105) | class PolymorphicParentModel(Model): class Meta (line 112) | class Meta: class PolymorphicChildBase (line 116) | class PolymorphicChildBase(Model): class Meta (line 121) | class Meta: class PolymorphicChildModel1 (line 127) | class PolymorphicChildModel1(PolymorphicChildBase): class PolymorphicChildModel2 (line 131) | class PolymorphicChildModel2(PolymorphicChildBase): class Meta (line 134) | class Meta: FILE: portia_server/portia_orm/tests/test_basic.py class BasicModelTests (line 9) | class BasicModelTests(DataStoreTestCase): method setUp (line 10) | def setUp(self): method test_validation (line 37) | def test_validation(self): method test_dump (line 52) | def test_dump(self): method test_dumps (line 60) | def test_dumps(self): method test_required (line 71) | def test_required(self): method test_load_single (line 83) | def test_load_single(self): method test_load_single_on_access (line 92) | def test_load_single_on_access(self): method test_partial_load_single (line 102) | def test_partial_load_single(self): method test_load_many (line 115) | def test_load_many(self): method test_load_one_from_many (line 130) | def test_load_one_from_many(self): method test_load_param (line 143) | def test_load_param(self): method test_load_param_skipped_if_param_missing (line 157) | def test_load_param_skipped_if_param_missing(self): method test_save_single (line 164) | def test_save_single(self): method test_save_single_does_not_save_if_nothing_changed (line 178) | def test_save_single_does_not_save_if_nothing_changed(self): method test_partial_save_single (line 185) | def test_partial_save_single(self): method test_save_param (line 202) | def test_save_param(self): method test_save_param_raises_error_if_params_missing (line 216) | def test_save_param_raises_error_if_params_missing(self): method test_save_selected_fields (line 224) | def test_save_selected_fields(self): method test_copy (line 238) | def test_copy(self): class PolymorphicModelTests (line 246) | class PolymorphicModelTests(DataStoreTestCase): method setUp (line 247) | def setUp(self): method test_load_many (line 267) | def test_load_many(self): method test_load_one_from_many (line 286) | def test_load_one_from_many(self): method test_save_many (line 301) | def test_save_many(self): FILE: portia_server/portia_orm/tests/test_collection.py class ModelCollectionTests (line 7) | class ModelCollectionTests(DataStoreTestCase): method test_create_ (line 8) | def test_create_(self): method test_create_with_model (line 14) | def test_create_with_model(self): method test_getitem (line 21) | def test_getitem(self): method test_setitem_index (line 38) | def test_setitem_index(self): method test_setitem_key (line 65) | def test_setitem_key(self): method test_setitem_object (line 92) | def test_setitem_object(self): method test_delitem_index (line 119) | def test_delitem_index(self): method test_delitem_key (line 130) | def test_delitem_key(self): method test_delitem_object (line 141) | def test_delitem_object(self): method test_append (line 152) | def test_append(self): method test_add (line 173) | def test_add(self): method test_extend (line 196) | def test_extend(self): method test_update (line 216) | def test_update(self): method test_insert (line 234) | def test_insert(self): method test_remove (line 265) | def test_remove(self): method test_discard (line 282) | def test_discard(self): method test_pop (line 302) | def test_pop(self): method test_get (line 336) | def test_get(self): method test_clear (line 351) | def test_clear(self): method test_validation (line 361) | def test_validation(self): method test_dump (line 369) | def test_dump(self): method test_dumps (line 386) | def test_dumps(self): class PolymorphicCollectionTests (line 412) | class PolymorphicCollectionTests(DataStoreTestCase): method test_create_ (line 413) | def test_create_(self): method test_create_with_model (line 419) | def test_create_with_model(self): method test_getitem (line 426) | def test_getitem(self): method test_setitem_index (line 449) | def test_setitem_index(self): method test_setitem_key (line 476) | def test_setitem_key(self): method test_setitem_object (line 503) | def test_setitem_object(self): method test_delitem_index (line 530) | def test_delitem_index(self): method test_delitem_key (line 541) | def test_delitem_key(self): method test_delitem_object (line 552) | def test_delitem_object(self): method test_append (line 563) | def test_append(self): method test_add (line 584) | def test_add(self): method test_extend (line 607) | def test_extend(self): method test_update (line 627) | def test_update(self): method test_insert (line 645) | def test_insert(self): method test_remove (line 676) | def test_remove(self): method test_discard (line 693) | def test_discard(self): method test_pop (line 713) | def test_pop(self): method test_get (line 747) | def test_get(self): method test_clear (line 762) | def test_clear(self): method test_validation (line 772) | def test_validation(self): method test_dump (line 780) | def test_dump(self): method test_dumps (line 801) | def test_dumps(self): FILE: portia_server/portia_orm/tests/test_model.py class ProjectTestCase (line 10) | class ProjectTestCase(DataStoreTestCase): method setUp (line 11) | def setUp(self): method get_storage_files (line 15) | def get_storage_files(self): class ProjectTests (line 208) | class ProjectTests(ProjectTestCase): method test_project (line 209) | def test_project(self): method test_load (line 215) | def test_load(self): method test_save (line 223) | def test_save(self): method test_delete (line 242) | def test_delete(self): class SchemaTests (line 257) | class SchemaTests(ProjectTestCase): method test_no_fields (line 258) | def test_no_fields(self): method test_fields (line 270) | def test_fields(self): method test_collection (line 297) | def test_collection(self): method test_load_through_project (line 334) | def test_load_through_project(self): method test_load_through_partial (line 384) | def test_load_through_partial(self): method test_save_edit (line 426) | def test_save_edit(self): method test_save_new (line 534) | def test_save_new(self): method test_delete (line 651) | def test_delete(self): class FieldTests (line 670) | class FieldTests(ProjectTestCase): method test_minimal_field (line 671) | def test_minimal_field(self): method test_full_field (line 684) | def test_full_field(self): method test_field_types (line 699) | def test_field_types(self): method test_load_through_project (line 713) | def test_load_through_project(self): method test_load_through_partial (line 754) | def test_load_through_partial(self): method test_save_edit (line 767) | def test_save_edit(self): method test_save_new (line 876) | def test_save_new(self): method test_delete (line 1002) | def test_delete(self): class ExtractorTests (line 1050) | class ExtractorTests(ProjectTestCase): method test_type_extractor (line 1051) | def test_type_extractor(self): method test_regexp_extractor (line 1072) | def test_regexp_extractor(self): method test_extractor_type (line 1098) | def test_extractor_type(self): method test_collection (line 1110) | def test_collection(self): method test_load_through_project (line 1127) | def test_load_through_project(self): method test_load_through_partial (line 1146) | def test_load_through_partial(self): method test_save_edit (line 1156) | def test_save_edit(self): method test_save_new (line 1203) | def test_save_new(self): method test_delete (line 1260) | def test_delete(self): class SpiderTests (line 1280) | class SpiderTests(ProjectTestCase): method test_minimal_spider (line 1281) | def test_minimal_spider(self): method test_full_spider (line 1301) | def test_full_spider(self): method test_links_to_follow (line 1356) | def test_links_to_follow(self): method test_load_through_project (line 1371) | def test_load_through_project(self): method test_load_through_partial (line 1406) | def test_load_through_partial(self): method test_save_edit (line 1434) | def test_save_edit(self): method test_save_new (line 1523) | def test_save_new(self): method test_delete (line 1569) | def test_delete(self): class SampleTests (line 1596) | class SampleTests(ProjectTestCase): method test_minimal_sample (line 1597) | def test_minimal_sample(self): method test_full_sample (line 1620) | def test_full_sample(self): method test_load_through_project (line 1645) | def test_load_through_project(self): method test_load_through_partial (line 1759) | def test_load_through_partial(self): method test_save_edit (line 1868) | def test_save_edit(self): method test_save_new (line 2142) | def test_save_new(self): method test_delete (line 2204) | def test_delete(self): class ItemTests (line 2269) | class ItemTests(ProjectTestCase): method get_storage_files (line 2270) | def get_storage_files(self): method test_minimal_item (line 2449) | def test_minimal_item(self): method test_full_item (line 2470) | def test_full_item(self): method test_with_annotation (line 2499) | def test_with_annotation(self): method test_with_nested_item (line 2545) | def test_with_nested_item(self): method test_load_through_project (line 2585) | def test_load_through_project(self): method test_load_through_partial (line 2716) | def test_load_through_partial(self): method test_save_edit (line 2842) | def test_save_edit(self): method test_save_new (line 3164) | def test_save_new(self): method test_delete (line 3539) | def test_delete(self): class AnnotationTests (line 3615) | class AnnotationTests(ProjectTestCase): method test_minimal_item (line 3616) | def test_minimal_item(self): method test_full_item (line 3643) | def test_full_item(self): method test_load_through_project (line 3685) | def test_load_through_project(self): method test_load_through_partial (line 3758) | def test_load_through_partial(self): method test_save_edit (line 3799) | def test_save_edit(self): method test_save_new (line 4043) | def test_save_new(self): method test_delete (line 4346) | def test_delete(self): method test_invalid_project_name (line 4483) | def test_invalid_project_name(self): method test_invalid_spider_name (line 4487) | def test_invalid_spider_name(self): FILE: portia_server/portia_orm/tests/test_relationship.py class OneToOneRelationshipTests (line 10) | class OneToOneRelationshipTests(DataStoreTestCase): method setUp (line 11) | def setUp(self): method test_no_relation (line 32) | def test_no_relation(self): method test_set_relation (line 47) | def test_set_relation(self): method test_set_reverse_relation (line 66) | def test_set_reverse_relation(self): method test_create_with_relation (line 85) | def test_create_with_relation(self): method test_create_with_reverse_relation (line 103) | def test_create_with_reverse_relation(self): method test_change_relation (line 119) | def test_change_relation(self): method test_change_reverse_relation (line 141) | def test_change_reverse_relation(self): method test_load_full (line 163) | def test_load_full(self): method test_load_partial (line 177) | def test_load_partial(self): method test_save_field (line 190) | def test_save_field(self): method test_save_id (line 238) | def test_save_id(self): class OneToManyRelationshipTests (line 296) | class OneToManyRelationshipTests(DataStoreTestCase): method setUp (line 297) | def setUp(self): method test_no_children (line 321) | def test_no_children(self): method test_set_children (line 330) | def test_set_children(self): method test_add_to_children (line 348) | def test_add_to_children(self): method test_set_parent (line 366) | def test_set_parent(self): method test_create_with_children (line 384) | def test_create_with_children(self): method test_create_with_parent (line 401) | def test_create_with_parent(self): method test_change_parent (line 418) | def test_change_parent(self): method test_change_children (line 447) | def test_change_children(self): method test_getitem (line 475) | def test_getitem(self): method test_get (line 490) | def test_get(self): method test_setitem (line 503) | def test_setitem(self): method test_delitem (line 543) | def test_delitem(self): method test_append (line 561) | def test_append(self): method test_add (line 576) | def test_add(self): method test_insert (line 591) | def test_insert(self): method test_remove (line 602) | def test_remove(self): method test_discard (line 616) | def test_discard(self): method test_pop (line 630) | def test_pop(self): method test_clear (line 648) | def test_clear(self): method test_load_full (line 661) | def test_load_full(self): method test_load_partial (line 680) | def test_load_partial(self): method test_save_field (line 706) | def test_save_field(self): method test_save_id (line 761) | def test_save_id(self): class ManyToManyRelationshipTests (line 829) | class ManyToManyRelationshipTests(DataStoreTestCase): method setUp (line 830) | def setUp(self): method test_no_relation (line 859) | def test_no_relation(self): method test_set_relation (line 874) | def test_set_relation(self): method test_set_reverse_relation (line 901) | def test_set_reverse_relation(self): method test_create_with_relation (line 928) | def test_create_with_relation(self): method test_create_with_reverse_relation (line 954) | def test_create_with_reverse_relation(self): method test_change_relation (line 980) | def test_change_relation(self): method test_change_reverse_relation (line 1059) | def test_change_reverse_relation(self): method test_load_full (line 1138) | def test_load_full(self): method test_load_partial (line 1159) | def test_load_partial(self): method test_save_field (line 1174) | def test_save_field(self): method test_save_id (line 1234) | def test_save_id(self): class PolymorphicRelationshipTests (line 1308) | class PolymorphicRelationshipTests(DataStoreTestCase): method setUp (line 1309) | def setUp(self): method test_no_children (line 1344) | def test_no_children(self): method test_set_children (line 1353) | def test_set_children(self): method test_add_to_children (line 1378) | def test_add_to_children(self): method test_set_parent (line 1404) | def test_set_parent(self): method test_create_with_children (line 1430) | def test_create_with_children(self): method test_create_with_parent (line 1455) | def test_create_with_parent(self): method test_change_parent (line 1481) | def test_change_parent(self): method test_change_children (line 1547) | def test_change_children(self): method test_getitem (line 1576) | def test_getitem(self): method test_get (line 1595) | def test_get(self): method test_setitem (line 1612) | def test_setitem(self): method test_delitem (line 1653) | def test_delitem(self): method test_append (line 1671) | def test_append(self): method test_add (line 1687) | def test_add(self): method test_insert (line 1703) | def test_insert(self): method test_remove (line 1715) | def test_remove(self): method test_discard (line 1730) | def test_discard(self): method test_pop (line 1745) | def test_pop(self): method test_clear (line 1764) | def test_clear(self): method test_load_full (line 1778) | def test_load_full(self): method test_load_partial (line 1800) | def test_load_partial(self): method test_save_field (line 1831) | def test_save_field(self): method test_save_id (line 1882) | def test_save_id(self): FILE: portia_server/portia_orm/tests/utils.py class DataStoreTestCase (line 10) | class DataStoreTestCase(unittest.TestCase): method setUp (line 11) | def setUp(self): function mock_storage (line 17) | def mock_storage(files): FILE: portia_server/portia_orm/utils.py class cached_property_ignore_set (line 25) | class cached_property_ignore_set(cached_property): method __set__ (line 26) | def __set__(self, instance, value): class class_property (line 30) | class class_property(object): method __init__ (line 32) | def __init__(self, fget=None): method __get__ (line 37) | def __get__(self, instance, instance_type=None): function short_guid (line 41) | def short_guid(): function validate_type (line 48) | def validate_type(value, model): function unwrap_envelopes (line 55) | def unwrap_envelopes(data, many, pk_field, remove_key): function wrap_envelopes (line 73) | def wrap_envelopes(data, many, pk_field, remove_key): class AttributeDict (line 85) | class AttributeDict(dict): method __getattr__ (line 86) | def __getattr__(self, name): function strip_json (line 95) | def strip_json(fname): class OrderedIndexedTransformDict (line 101) | class OrderedIndexedTransformDict(object): method __init__ (line 104) | def __init__(self, transform, init_dict=None, **kwargs): method getitem (line 114) | def getitem(self, key): method __len__ (line 119) | def __len__(self): method __iter__ (line 122) | def __iter__(self): method __getitem__ (line 125) | def __getitem__(self, key): method __setitem__ (line 131) | def __setitem__(self, key, value=None): method __delitem__ (line 135) | def __delitem__(self, key): method clear (line 151) | def clear(self): method __contains__ (line 154) | def __contains__(self, key): method get (line 157) | def get(self, key, default=None): method pop (line 160) | def pop(self, key, default=_SENTINEL): method items (line 168) | def items(self): method update (line 171) | def update(self, value, **kws): method insert (line 174) | def insert(self, index, value): method replace (line 181) | def replace(self, key, value): method _remove (line 189) | def _remove(self, key): method popitem (line 198) | def popitem(self): method copy (line 202) | def copy(self): method __getstate__ (line 209) | def __getstate__(self): method __setstate__ (line 212) | def __setstate__(self, state): method __repr__ (line 215) | def __repr__(self): FILE: portia_server/portia_server/backends.py class LocalAuthentication (line 4) | class LocalAuthentication(object): method authenticate (line 5) | def authenticate(self, request, **kwargs): method get_user (line 8) | def get_user(self, user_id): FILE: portia_server/portia_server/models.py class LocalUser (line 12) | class LocalUser(AnonymousUser): class _meta (line 18) | class _meta: method __init__ (line 22) | def __init__(self, **kwargs): method pk (line 31) | def pk(self): method __str__ (line 34) | def __str__(self): method __eq__ (line 37) | def __eq__(self, other): method __hash__ (line 40) | def __hash__(self): method is_anonymous (line 43) | def is_anonymous(self): method is_authenticated (line 46) | def is_authenticated(self): method save (line 49) | def save(self, *args, **kwargs): FILE: portia_server/portia_server/views.py function capabilities (line 5) | def capabilities(request): FILE: portia_server/storage/__init__.py function get_storage_class (line 12) | def get_storage_class(): function create_project_storage (line 20) | def create_project_storage(project_id, author=None, branch=None): FILE: portia_server/storage/apps.py class StorageConfig (line 4) | class StorageConfig(AppConfig): FILE: portia_server/storage/backends.py class InvalidFilename (line 35) | class InvalidFilename(Exception): class CommittingStorage (line 39) | class CommittingStorage(object): method init_project (line 58) | def init_project(self): method get_projects (line 69) | def get_projects(cls, user): method setup (line 79) | def setup(cls): method get_available_name (line 82) | def get_available_name(self, name, max_length=None): method commit (line 85) | def commit(self, message='Saving multiple files'): method changed_files (line 88) | def changed_files(self): class BasePortiaStorage (line 92) | class BasePortiaStorage(CommittingStorage, Storage): method __init__ (line 93) | def __init__(self, name, author=None): method is_valid_filename (line 97) | def is_valid_filename(s): method validate_filename (line 106) | def validate_filename(cls, s): method open_with_default (line 113) | def open_with_default(self, name, default=None): class FsStorage (line 122) | class FsStorage(BasePortiaStorage, FileSystemStorage): method __init__ (line 125) | def __init__(self, name, author=None, *args, **kwargs): method isdir (line 133) | def isdir(self, name): method isfile (line 136) | def isfile(self, name): method move (line 139) | def move(self, old_file_name, new_file_name, allow_overwrite=False): method rmtree (line 146) | def rmtree(self, name): method _save (line 149) | def _save(self, name, content): method delete (line 189) | def delete(self, name): class GitStorage (line 198) | class GitStorage(BasePortiaStorage): method __init__ (line 201) | def __init__(self, name, author=None): method checkout (line 213) | def checkout(self, commit=None, branch=None, retry=True): method setup (line 255) | def setup(cls): method _open (line 259) | def _open(self, name, mode='rb'): method _save (line 272) | def _save(self, name, content): method delete (line 279) | def delete(self, name): method exists (line 290) | def exists(self, name): method listdir (line 296) | def listdir(self, path): method isdir (line 320) | def isdir(self, name): method isfile (line 327) | def isfile(self, name): method move (line 333) | def move(self, old_name, new_name, allow_overwrite=False): method rmtree (line 352) | def rmtree(self, name): method path (line 361) | def path(self, path): method commit (line 373) | def commit(self, message='Saving multiple files'): method changed_files (line 403) | def changed_files(self): FILE: portia_server/storage/jsondiff.py class Conflict (line 9) | class Conflict(object): method __init__ (line 10) | def __init__(self, mine, other, base): method from_prepared (line 16) | def from_prepared(cls, mine, other, base): method resolve_sub_conflict (line 27) | def resolve_sub_conflict(cls, mine, other): method update (line 31) | def update(self, m, o, b): method resolve_conflict (line 39) | def resolve_conflict(self): method _asdict (line 76) | def _asdict(self): method __eq__ (line 85) | def __eq__(self, other): method __str__ (line 89) | def __str__(self): method __repr__ (line 92) | def __repr__(self): function merge_lists (line 96) | def merge_lists(base, mine, other): class JsonDiff (line 129) | class JsonDiff(object): method __init__ (line 135) | def __init__(self, old, new): method op_for_field (line 143) | def op_for_field(self, field_name): function merge_jsons (line 154) | def merge_jsons(base, mine, other): FILE: portia_server/storage/repoman.py class Repoman (line 26) | class Repoman(object): method __init__ (line 49) | def __init__(self, author): method setup (line 60) | def setup(cls, storage_backend): method create_repo (line 64) | def create_repo(cls, repo_name, author=None): method open_repo (line 78) | def open_repo(cls, repo_name, author=None): method repo_exists (line 86) | def repo_exists(cls, repo_name): method list_repos (line 91) | def list_repos(cls): method delete_repo (line 95) | def delete_repo(cls, repo_name): method refs (line 100) | def refs(self): method create_branch (line 103) | def create_branch(self, branch_name, at_revision=None): method delete_branch (line 112) | def delete_branch(self, branch_name): method has_branch (line 120) | def has_branch(self, branch_name): method get_branch (line 124) | def get_branch(self, branch_name): method save_file (line 128) | def save_file(self, file_path, contents, branch_name, commit_message=N... method save_files (line 136) | def save_files(self, files, branch_name, commit_message=None): method blob_for_branch (line 149) | def blob_for_branch(self, file_path, branch_name): method blob (line 156) | def blob(self, file_path, revision): method file_contents_for_branch (line 162) | def file_contents_for_branch(self, file_path, branch_name): method list_files_for_branch (line 169) | def list_files_for_branch(self, branch_name): method list_files (line 177) | def list_files(self, revision): method publish_branch (line 183) | def publish_branch(self, branch_name, force=False, message=None, method _publish_branch (line 214) | def _publish_branch(self, branch_name, force=False, message=None): method advance_branch (line 242) | def advance_branch(self, commit, tree=sentinel, branch='master'): method get_published_revisions (line 256) | def get_published_revisions(self): method get_branch_checkpoints (line 264) | def get_branch_checkpoints(self, branch_name): method get_branch_changed_entries (line 277) | def get_branch_changed_entries(self, branch_name): method get_branch_changed_files (line 284) | def get_branch_changed_files(self, branch_name): method add_tag (line 289) | def add_tag(self, tag_name): method checkout_tag (line 301) | def checkout_tag(self, tag_name, remove=False): method _merge_branches (line 311) | def _merge_branches(self, base, mine, other, take_mine=False): method _perform_file_operation (line 407) | def _perform_file_operation(self, branch_name, operation, *args): method _save_file (line 414) | def _save_file(self, parent_commit, file_path, contents, commit_message): method _save_files (line 420) | def _save_files(self, parent_commit, files, commit_message): method _update_store (line 440) | def _update_store(self, *args): method _advance_branch (line 444) | def _advance_branch(self, branch_name, commit): method _get_tree (line 447) | def _get_tree(self, revision): method _create_commit (line 451) | def _create_commit(self): method _get_head (line 459) | def _get_head(self): method _is_ancestor_commit (line 465) | def _is_ancestor_commit(self, descendant, ancestor): FILE: portiaui/app/adapters/application.js constant DELETED_EXTENSION (line 6) | const DELETED_EXTENSION = 'https://portia.scrapinghub.com/jsonapi/extens... constant UPDATES_EXTENSION (line 7) | const UPDATES_EXTENSION = 'https://portia.scrapinghub.com/jsonapi/extens... function filter_update_errors (line 9) | function filter_update_errors(errors, pointer) { method selfLink (line 37) | selfLink(type, id, snapshot /*, query */) { method relatedLink (line 44) | relatedLink(type, id, snapshot /*, query */) { method createRecord (line 73) | createRecord(store, type, snapshot) { method updateRecord (line 82) | updateRecord(store, type, snapshot) { method deleteRecord (line 91) | deleteRecord(store, type, snapshot) { method dataForRequest (line 100) | dataForRequest(params) { method methodForRequest (line 160) | methodForRequest(params) { method urlForRequest (line 170) | urlForRequest(params) { method headersForRequest (line 182) | headersForRequest(params) { method _requestFor (line 203) | _requestFor(params) { method _makeRequest (line 219) | _makeRequest(request) { method _getExtentionAliases (line 393) | _getExtentionAliases(response, extention) { method ajaxOptions (line 406) | ajaxOptions(url, method, request = {}) { FILE: portiaui/app/adapters/project.js method shouldReloadRecord (line 7) | shouldReloadRecord() { return true; } FILE: portiaui/app/components/add-start-url-button.js method toggleStartUrl (line 21) | toggleStartUrl() { method _toggleStartUrl (line 29) | _toggleStartUrl() { FILE: portiaui/app/components/animation-container.js method didReceiveAttrs (line 15) | didReceiveAttrs({oldAttrs, newAttrs}) { method didInsertElement (line 51) | didInsertElement() { method willDestroyElement (line 64) | willDestroyElement() { method readPosition (line 73) | readPosition(rects, boundingRect, element) { method updatePosition (line 77) | updatePosition(rects, boundingRect) { method updateSize (line 88) | updateSize(rects, boundingRect) { method transitionEnd (line 101) | transitionEnd($event) { FILE: portiaui/app/components/annotation-options.js method get (line 29) | get() { method set (line 33) | set(key, value) { method get (line 46) | get() { method set (line 50) | set(key, value) { method get (line 56) | get() { method set (line 60) | set(key, value) { method get (line 71) | get() { method set (line 75) | set(key, value) { method setAnnotationSelector (line 104) | setAnnotationSelector(annotation, selector) { method updateSelector (line 111) | updateSelector(sample) { method _updateSelector (line 124) | _updateSelector(sample) { method save (line 135) | save() { FILE: portiaui/app/components/browser-iframe.js function hashString (line 9) | function hashString(string) { method init (line 44) | init() { method click (line 50) | click() { method willInsertElement (line 63) | willInsertElement() { method didInsertElement (line 79) | didInsertElement() { method willDestroyElement (line 89) | willDestroyElement() { method documentLoaded (line 107) | documentLoaded() { method _loadUrl (line 119) | _loadUrl() { method visit (line 164) | visit(url, baseurl) { method msgLoadStarted (line 180) | msgLoadStarted(data) { method failedLoad (line 191) | failedLoad(reason) { method msgLoadFinished (line 213) | msgLoadFinished(data) { method msgLoad (line 225) | msgLoad(data) { method msgMetadata (line 229) | msgMetadata(data) { method handleMetadataError (line 242) | handleMetadataError() { method msgMutation (line 256) | msgMutation(data) { method msgCookies (line 278) | msgCookies(data) { method noop (line 286) | noop() { method loadCookies (line 290) | loadCookies(){ method unbindEventHandlers (line 301) | unbindEventHandlers() { method addFrameEventListener (line 309) | addFrameEventListener(event, fn, useCapture=false) { method bindEventHandlers (line 315) | bindEventHandlers() { method clickHandlerBrowse (line 341) | clickHandlerBrowse(evt) { method postEvent (line 350) | postEvent(evt) { method clearIframe (line 361) | clearIframe() { method iframeSize (line 382) | iframeSize() { FILE: portiaui/app/components/browser-url-failing.js method reloadPage (line 9) | reloadPage() { FILE: portiaui/app/components/browser-view-port.js method willInsertElement (line 14) | willInsertElement() { method willDestroyElement (line 18) | willDestroyElement() { method updateHoveredElement (line 22) | updateHoveredElement(elements) { method viewPortClick (line 29) | viewPortClick() { method reconnectWebsocket (line 35) | reconnectWebsocket() { FILE: portiaui/app/components/buffered-input.js method didInsertElement (line 15) | didInsertElement() { method get (line 32) | get() { method set (line 40) | set(key, value, cachedValue) { method setInputFocus (line 54) | setInputFocus() { method validateName (line 68) | validateName(name) { method startEditing (line 73) | startEditing() { method cancelEditing (line 80) | cancelEditing() { method endEditing (line 87) | endEditing(reason) { FILE: portiaui/app/components/combo-box.js method get (line 10) | get() { method set (line 14) | set(key, value) { method setInputFocus (line 20) | setInputFocus(ignoreAutoSelect = false) { method getValueAttribute (line 32) | getValueAttribute(value) { method updateViewValue (line 40) | updateViewValue() { method restoreFocus (line 66) | restoreFocus() { FILE: portiaui/app/components/create-project-button.js method addProject (line 13) | addProject() { FILE: portiaui/app/components/create-spider-button.js method addSpider (line 15) | addSpider() { FILE: portiaui/app/components/data-structure-annotations.js method enterAnnotation (line 14) | enterAnnotation(annotation) { method leaveAnnotation (line 18) | leaveAnnotation() { method enterItem (line 22) | enterItem(item) { method leaveItem (line 26) | leaveItem() { method removeAnnotation (line 30) | removeAnnotation(annotation) { method removeItem (line 34) | removeItem(item) { method saveItem (line 38) | saveItem(item) { FILE: portiaui/app/components/data-structure-listing.js method addItem (line 11) | addItem(sample) { method removeItem (line 15) | removeItem(item) { FILE: portiaui/app/components/dropdown-delete.js method onDelete (line 13) | onDelete() { FILE: portiaui/app/components/dropdown-item.js method didInsertElement (line 19) | didInsertElement() { method willDestroyElement (line 26) | willDestroyElement() { method performAction (line 34) | performAction(value) { FILE: portiaui/app/components/dropdown-menu.js function computedItem (line 3) | function computedItem(propertyName) { method init (line 58) | init() { method next (line 69) | next(type) { method previous (line 89) | previous(type) { method triggerAction (line 109) | triggerAction(type) { method validateType (line 118) | validateType(type, fallback) { method focusIn (line 125) | focusIn() { method focusOut (line 131) | focusOut() { method keyDown (line 137) | keyDown() { method registerItem (line 141) | registerItem(item) { method unRegisterItem (line 146) | unRegisterItem(item) { method updateItems (line 151) | updateItems() { method orderItemsForSearch (line 157) | orderItemsForSearch(items) { method valuesEqual (line 161) | valuesEqual(a, b) { method keyDown (line 166) | keyDown($event) { FILE: portiaui/app/components/dropdown-widget.js method init (line 35) | init() { method didInsertElement (line 47) | didInsertElement() { method willDestroyElement (line 61) | willDestroyElement() { method focusIn (line 73) | focusIn() { method focusOut (line 77) | focusOut() { method keyDown (line 81) | keyDown() { method updateMenuSize (line 85) | updateMenuSize() { method updatePosition (line 92) | updatePosition(rects, boundingRect) { method click (line 113) | click() { method openMenu (line 121) | openMenu() { method closeMenu (line 127) | closeMenu(closeReason) { method toggleMenu (line 134) | toggleMenu(closeReason) { method focusIn (line 142) | focusIn() { method focusOut (line 146) | focusOut() { method keyDown (line 156) | keyDown(event) { FILE: portiaui/app/components/edit-sample-button.js method getUrlDomain (line 45) | getUrlDomain(uri) { method addSample (line 57) | addSample() { FILE: portiaui/app/components/element-overlay.js method init (line 12) | init() { method didInsertElement (line 17) | didInsertElement() { method willDestroyElement (line 21) | willDestroyElement() { method notifyAddOverlay (line 25) | notifyAddOverlay() { method notifyRemoveOverlay (line 29) | notifyRemoveOverlay() { method didReceiveAttrs (line 33) | didReceiveAttrs({oldAttrs, newAttrs}) { method on (line 51) | on(name, ...params) { method readContainerSize (line 56) | readContainerSize(rects, boundingRect, element) { method updatePosition (line 66) | updatePosition(rects) { FILE: portiaui/app/components/element-rect-overlay.js method didInsertElement (line 22) | didInsertElement() { method willDestroyElement (line 27) | willDestroyElement() { method updatePosition (line 31) | updatePosition(rects) { FILE: portiaui/app/components/extractor-options.js method save (line 16) | save() { method addTypeExtractor (line 20) | addTypeExtractor(type) { method addRegexExtractor (line 25) | addRegexExtractor(extractor) { method addNewRegexExtractor (line 30) | addNewRegexExtractor() { method removeExtractor (line 35) | removeExtractor(extractor) { method saveExtractor (line 40) | saveExtractor(extractor) { FILE: portiaui/app/components/feed-url-options.js method didRender (line 7) | didRender() { method saveFeedUrl (line 13) | saveFeedUrl() { FILE: portiaui/app/components/field-options.js method save (line 9) | save() { FILE: portiaui/app/components/fragment-options.js constant TOOLTIP_DEBOUNCE (line 13) | const TOOLTIP_DEBOUNCE = 1000; constant TOOLTIP_DELAY (line 14) | const TOOLTIP_DELAY = 2000; constant VALIDATIONS (line 16) | const VALIDATIONS = { method get (line 35) | get() { method set (line 38) | set(key, value) { method limits (line 66) | limits() { method get (line 71) | get() { method set (line 74) | set(key, value) { method get (line 80) | get() { method set (line 83) | set(key, value) { method updateFragment (line 90) | updateFragment() { method updateLimit (line 97) | updateLimit(value, index) { method changeFragmentType (line 107) | changeFragmentType(value) { method focusFragment (line 113) | focusFragment() { method saveChangeset (line 119) | saveChangeset() { method saveFragment (line 142) | saveFragment() { method updateValue (line 150) | updateValue() { method changeFragmentType (line 154) | changeFragmentType() { FILE: portiaui/app/components/generated-url-options.js method addFragment (line 30) | addFragment() { method removeFragment (line 35) | removeFragment(fragment) { FILE: portiaui/app/components/icon-button.js constant ICON_CLASSES (line 3) | const ICON_CLASSES = { method beforeClick (line 66) | beforeClick() {} method click (line 68) | click() { FILE: portiaui/app/components/input-with-clear.js method clear (line 10) | clear() { method keyUp (line 15) | keyUp() { FILE: portiaui/app/components/inspector-panel.js constant IGNORED_ATTRIBUTES (line 4) | const IGNORED_ATTRIBUTES = new Set([ function hasContentAttribute (line 10) | function hasContentAttribute(element) { function getAttributeList (line 14) | function getAttributeList(element) { function getDefaultAttribute (line 53) | function getDefaultAttribute(element) { method addAnnotation (line 123) | addAnnotation(attribute) { method changeAnnotationSource (line 128) | changeAnnotationSource(attribute) { method selectParent (line 133) | selectParent(element) { method selectChild (line 137) | selectChild(element) { FILE: portiaui/app/components/link-crawling-options.js method save (line 10) | save() { FILE: portiaui/app/components/list-item-add-annotation-menu.js method addAnnotation (line 15) | addAnnotation() { method addNestedItem (line 20) | addNestedItem() { FILE: portiaui/app/components/list-item-annotation-field.js method validateFieldName (line 14) | validateFieldName(name) { method addField (line 31) | addField(name) { method changeField (line 44) | changeField() { FILE: portiaui/app/components/list-item-editable.js method click (line 13) | click() { method startEditing (line 20) | startEditing() { FILE: portiaui/app/components/list-item-field-type.js method saveField (line 13) | saveField() { FILE: portiaui/app/components/list-item-icon-menu.js method clickIcon (line 9) | clickIcon() { FILE: portiaui/app/components/list-item-icon.js method beforeClick (line 6) | beforeClick() { FILE: portiaui/app/components/list-item-item-schema.js method addSchema (line 12) | addSchema(name) { method changeSchema (line 22) | changeSchema() { FILE: portiaui/app/components/list-item-link-crawling.js method get (line 39) | get() { method set (line 43) | set(key, value) { method saveSpider (line 50) | saveSpider() { FILE: portiaui/app/components/list-item-relation-manager.js method orderItemsForSearch (line 15) | orderItemsForSearch(items) { method valuesEqual (line 30) | valuesEqual(a, b) { method validateName (line 36) | validateName(name) { method add (line 41) | add(name) { method rename (line 51) | rename(name) { FILE: portiaui/app/components/list-item-selectable.js method startSelecting (line 18) | startSelecting() { FILE: portiaui/app/components/notification-container.js method dismissNotification (line 44) | dismissNotification(notification) { method fadeBanner (line 48) | fadeBanner(banner) { method fadeNotification (line 52) | fadeNotification(notification) { FILE: portiaui/app/components/notification-message.js method init (line 23) | init() { method didReceiveAttrs (line 28) | didReceiveAttrs({newAttrs, oldAttrs}) { method didInsertElement (line 34) | didInsertElement() { method fadeIn (line 43) | fadeIn() { method fadeOut (line 49) | fadeOut() { method transitionEnd (line 53) | transitionEnd() { FILE: portiaui/app/components/page-actions-editor.js constant TYPES (line 3) | const TYPES = ['click', 'set', 'wait']; FILE: portiaui/app/components/project-list.js method search (line 37) | search(value) { method clear (line 40) | clear() { method selectProject (line 48) | selectProject(project) { FILE: portiaui/app/components/project-listing.js method deploy (line 32) | deploy() { method publish (line 49) | publish() { method discard (line 66) | discard() { method clickProjectOptions (line 79) | clickProjectOptions() { FILE: portiaui/app/components/project-structure-listing.js constant LIMIT (line 6) | const LIMIT = 15; constant FILTER_DEBOUNCE (line 7) | const FILTER_DEBOUNCE = 800; constant TURN_PAGE_DEBOUNCE (line 8) | const TURN_PAGE_DEBOUNCE = 200; method didReceiveAttrs (line 18) | didReceiveAttrs() { method get (line 98) | get() { method addSchema (line 108) | addSchema() { method removeSchema (line 112) | removeSchema(schema) { method setSchemaDefault (line 116) | setSchemaDefault(schema) { method removeSchemaDefault (line 122) | removeSchemaDefault(schema) { method saveSchema (line 127) | saveSchema(schema) { method addSpider (line 131) | addSpider() { method _fuzzyFilter (line 136) | _fuzzyFilter(items, term) { method _addCurrentSpider (line 145) | _addCurrentSpider(spiders) { method _updateFilter (line 152) | _updateFilter(spiders, term = '') { FILE: portiaui/app/components/project-structure-spider-feed-url.js method get (line 14) | get() { method set (line 17) | set(key, value) { method saveStartUrl (line 22) | saveStartUrl(url) { FILE: portiaui/app/components/project-structure-spider-url.js method get (line 15) | get() { method set (line 19) | set(key, value, oldValue) { method handleNewUrl (line 25) | handleNewUrl(oldUrl, newUrl) { method removeStartUrl (line 36) | removeStartUrl() { method saveStartUrl (line 42) | saveStartUrl(oldUrl, newUrl) { FILE: portiaui/app/components/regex-pattern-list.js method triggerChange (line 18) | triggerChange() { method addPattern (line 25) | addPattern(pattern) { method clearPattern (line 33) | clearPattern() { method changePattern (line 37) | changePattern(index, value) { method removePattern (line 47) | removePattern(index) { method stopPropagation (line 52) | stopPropagation($event) { FILE: portiaui/app/components/save-status.js method init (line 13) | init() { method get (line 19) | get() { method set (line 38) | set(key, value) { method get (line 51) | get() { method set (line 66) | set(key, value) { FILE: portiaui/app/components/schema-structure-listing.js function validateFieldName (line 4) | function validateFieldName(name, fields) { method addField (line 26) | addField() { method removeField (line 30) | removeField(field) { method validateFieldName (line 34) | validateFieldName(field, name) { method saveField (line 45) | saveField(field) { FILE: portiaui/app/components/select-box.js method get (line 18) | get() { method set (line 22) | set(key, value) { method didInsertElement (line 27) | didInsertElement() { method setInputFocus (line 41) | setInputFocus() { method setViewValue (line 51) | setViewValue(value) { method setValue (line 55) | setValue(value) { method setValueAndClose (line 62) | setValueAndClose(value) { method menuClicked (line 72) | menuClicked() { method menuClosed (line 80) | menuClosed(reason) { FILE: portiaui/app/components/show-links-button.js method toggleShowLinks (line 11) | toggleShowLinks() { FILE: portiaui/app/components/spider-message.js method runSpider (line 10) | runSpider(spider) { FILE: portiaui/app/components/spider-options.js method save (line 10) | save() { FILE: portiaui/app/components/spider-row.js method init (line 16) | init() { method notifyError (line 33) | notifyError(spider) { method validateSpiderName (line 40) | validateSpiderName(spider, name) { method removeSpider (line 58) | removeSpider(spider) { method saveSpiderName (line 61) | saveSpiderName(spider) { method closeSpiderOptions (line 72) | closeSpiderOptions() { method copySpider (line 75) | copySpider() { method copyToProject (line 78) | copyToProject(options, project) { method _copyProjectSuccess (line 90) | _copyProjectSuccess(project) { method _copyProjectError (line 97) | _copyProjectError(data) { method _afterCopyProject (line 104) | _afterCopyProject(options) { FILE: portiaui/app/components/spider-structure-listing.js method init (line 18) | init() { method getNewStartUrl (line 23) | getNewStartUrl(newUrl) { method getNewUrl (line 32) | getNewUrl() { method addStartUrl (line 42) | addStartUrl() { method addGenerationUrl (line 54) | addGenerationUrl() { method addFeedUrl (line 61) | addFeedUrl() { method removeStartUrl (line 67) | removeStartUrl(startUrl) { method addSample (line 72) | addSample() { method removeSample (line 76) | removeSample(sample) { method saveSample (line 80) | saveSample(sample) { FILE: portiaui/app/components/start-url-options.js constant SPIDER_DEBOUNCE (line 5) | const SPIDER_DEBOUNCE = 1000; FILE: portiaui/app/components/tool-group.js method init (line 14) | init() { method close (line 24) | close() { method selectTab (line 29) | selectTab(toolId) { method toggleCollapsed (line 35) | toggleCollapsed() { FILE: portiaui/app/components/tool-tab.js method didInsertElement (line 10) | didInsertElement() { method selectTab (line 21) | selectTab() { FILE: portiaui/app/components/tooltip-container.js method init (line 21) | init() { method didInsertElement (line 26) | didInsertElement() { method willDestroyElement (line 30) | willDestroyElement() { method createTooltip (line 34) | createTooltip() { method destroyTooltip (line 54) | destroyTooltip() { FILE: portiaui/app/components/tooltip-icon.js method onClick (line 7) | onClick() { FILE: portiaui/app/components/tree-list-item-row.js method mouseEnter (line 6) | mouseEnter() { method mouseLeave (line 12) | mouseLeave() { FILE: portiaui/app/components/url-bar.js method submit (line 23) | submit($event) { method back (line 30) | back() { method forward (line 36) | forward() { method submit (line 42) | submit(url) { FILE: portiaui/app/controllers/projects/project.js method setClickHandler (line 12) | setClickHandler(fn) { method clearClickHandler (line 16) | clearClickHandler() { method viewPortClick (line 21) | viewPortClick() { FILE: portiaui/app/controllers/projects/project/conflicts/conflict.js function isConflict (line 4) | function isConflict(obj) { function sortKeys (line 13) | function sortKeys(keys){ function applyPatches (line 34) | function applyPatches(obj, values) { function patch (line 45) | function patch(obj, path, value) { FILE: portiaui/app/controllers/projects/project/schema/field/options.js method closeOptions (line 5) | closeOptions() { FILE: portiaui/app/controllers/projects/project/spider.js function filterLinkElements (line 4) | function filterLinkElements(filterFn) { function mapOverlayElements (line 19) | function mapOverlayElements(elementsProperty, color) { method init (line 59) | init() { method activate (line 65) | activate() { method deactivate (line 69) | deactivate() { method updateLinkElements (line 73) | updateLinkElements(elements) { FILE: portiaui/app/controllers/projects/project/spider/link-options.js method closeOptions (line 5) | closeOptions() { FILE: portiaui/app/controllers/projects/project/spider/options.js method closeOptions (line 5) | closeOptions() { FILE: portiaui/app/controllers/projects/project/spider/sample/data.js method get (line 40) | get(key) { method set (line 55) | set(key, value) { method get (line 67) | get() { method set (line 76) | set(key, value) { method toggleCSS (line 296) | toggleCSS() { method toggleMagicTool (line 305) | toggleMagicTool() { method selectElement (line 321) | selectElement() { FILE: portiaui/app/controllers/projects/project/spider/sample/data/annotation/options.js method closeOptions (line 5) | closeOptions() { FILE: portiaui/app/helpers/array-get.js method compute (line 4) | compute(params/*, hash*/) { FILE: portiaui/app/helpers/attribute-annotation.js method compute (line 4) | compute([annotations, attribute]) { FILE: portiaui/app/helpers/chain-actions.js function chainActions (line 3) | function chainActions(params/*, hash*/) { FILE: portiaui/app/helpers/guid.js function guid (line 3) | function guid([obj]/*, hash*/) { FILE: portiaui/app/helpers/includes.js function includes (line 3) | function includes([list, value]) { FILE: portiaui/app/helpers/indexed-object.js function indexedObject (line 3) | function indexedObject([ param ] /*, hash*/) { FILE: portiaui/app/helpers/is-empty-object.js function isEmptyObject (line 4) | function isEmptyObject(params) { FILE: portiaui/app/helpers/is-object-or-array.js function isObjectOrArray (line 5) | function isObjectOrArray(params) { FILE: portiaui/app/helpers/is-object.js function isObject (line 4) | function isObject([object]) { FILE: portiaui/app/initializers/ui-state.js function initialize (line 1) | function initialize(application) { FILE: portiaui/app/instance-initializers/error-handler.js function logErrorStack (line 4) | function logErrorStack(e, level) { function initialize (line 20) | function initialize(applicationInstance) { FILE: portiaui/app/mixins/options-route.js method activate (line 6) | activate() { method deactivate (line 10) | deactivate() { FILE: portiaui/app/mixins/save-spider-mixin.js method saveSpider (line 6) | saveSpider() { FILE: portiaui/app/models/annotation.js method defaultValue (line 28) | defaultValue() { method defaultValue (line 33) | defaultValue() { method addElement (line 51) | addElement(element) { method removeElement (line 55) | removeElement(element) { method moveElement (line 59) | moveElement(element, toProperty, fromProperty) { method setSelector (line 87) | setSelector(selector) { FILE: portiaui/app/models/base.js function runActions (line 9) | function runActions() { function mergeSaveOptions (line 40) | function mergeSaveOptions(dst, src) { method save (line 84) | save(options) { method deleteRecord (line 210) | deleteRecord() { method reload (line 217) | reload() { method set (line 241) | set(key) { method setProperties (line 246) | setProperties(hash) { method _clearPendingDelete (line 268) | _clearPendingDelete(...keys) { FILE: portiaui/app/models/field.js constant FIELD_TYPES (line 4) | const FIELD_TYPES = [ FILE: portiaui/app/models/project.js function memberActionAndMarkClean (line 7) | function memberActionAndMarkClean(options) { method markClean (line 32) | markClean() { FILE: portiaui/app/models/sample.js method normalizeTitle (line 24) | normalizeTitle(title) { FILE: portiaui/app/models/spider.js method get (line 8) | get() { method set (line 11) | set(key, value) { method defaultValue (line 18) | defaultValue() { method defaultValue (line 24) | defaultValue() { method defaultValue (line 41) | defaultValue() { method defaultValue (line 46) | defaultValue() { method defaultValue (line 59) | defaultValue() { method defaultValue (line 64) | defaultValue() { FILE: portiaui/app/models/start-url.js method show (line 11) | show() { method serialize (line 15) | serialize() { method addSerialized (line 22) | addSerialized(serialized) { return serialized; } method save (line 24) | save(spider) { method init (line 38) | init() { method show (line 49) | show() { method addSerialized (line 53) | addSerialized(serialized) { method generateList (line 58) | generateList() { method show (line 81) | show() { method _raw_url (line 85) | _raw_url() { function buildStartUrl (line 109) | function buildStartUrl(startUrl) { FILE: portiaui/app/routes/browsers.js method model (line 19) | model() { FILE: portiaui/app/routes/index.js function identity (line 4) | function identity(x) { return x; } method model (line 7) | model() { method redirect (line 11) | redirect(model) { FILE: portiaui/app/routes/projects.js method model (line 4) | model() { FILE: portiaui/app/routes/projects/project.js method beforeModel (line 10) | beforeModel() { method model (line 16) | model(params) { method setupController (line 21) | setupController(controller, model) { method deactivate (line 26) | deactivate() { method renderTemplate (line 30) | renderTemplate() { method projectNotFound (line 57) | projectNotFound() { method conflict (line 69) | conflict() { method reload (line 73) | reload() { FILE: portiaui/app/routes/projects/project/compatibility.js method model (line 4) | model(params) { method redirect (line 8) | redirect({path}, {queryParams}) { FILE: portiaui/app/routes/projects/project/conflicts.js method model (line 4) | model() { method renderTemplate (line 11) | renderTemplate() { FILE: portiaui/app/routes/projects/project/conflicts/conflict.js method model (line 4) | model(params) { method renderTemplate (line 13) | renderTemplate() { FILE: portiaui/app/routes/projects/project/schema.js method model (line 4) | model(params) { method afterModel (line 8) | afterModel(model) { method renderTemplate (line 12) | renderTemplate() { FILE: portiaui/app/routes/projects/project/schema/field.js method model (line 4) | model(params) { FILE: portiaui/app/routes/projects/project/schema/field/options.js method model (line 5) | model() { method renderTemplate (line 9) | renderTemplate() { method close (line 17) | close() { FILE: portiaui/app/routes/projects/project/spider.js method model (line 6) | model(params) { method afterModel (line 10) | afterModel(model) { method redirect (line 14) | redirect(model, {queryParams}) { method setupController (line 36) | setupController(controller) { method resetController (line 43) | resetController(controller, isExiting) { method renderTemplate (line 52) | renderTemplate() { method error (line 75) | error() { method transitionToFragments (line 80) | transitionToFragments(start_url_id) { method closeOptions (line 84) | closeOptions() { FILE: portiaui/app/routes/projects/project/spider/link-options.js method model (line 5) | model() { method renderTemplate (line 9) | renderTemplate() { method close (line 18) | close() { FILE: portiaui/app/routes/projects/project/spider/options.js method model (line 5) | model() { method renderTemplate (line 9) | renderTemplate() { method close (line 18) | close() { FILE: portiaui/app/routes/projects/project/spider/sample.js method model (line 6) | model(params) { method afterModel (line 10) | afterModel(model) { method renderTemplate (line 16) | renderTemplate() { method error (line 29) | error() { FILE: portiaui/app/routes/projects/project/spider/sample/data.js method init (line 9) | init() { method model (line 14) | model() { method afterModel (line 18) | afterModel(model) { method activate (line 23) | activate() { method deactivate (line 28) | deactivate() { method renderTemplate (line 39) | renderTemplate() { method renderOverlayTemplate (line 58) | renderOverlayTemplate() { method updateDataStructure (line 66) | updateDataStructure(model) { method viewPortClick (line 77) | viewPortClick() { FILE: portiaui/app/routes/projects/project/spider/sample/data/annotation.js method model (line 8) | model(params) { method afterModel (line 12) | afterModel(model) { method deactivate (line 21) | deactivate() { method error (line 29) | error() { FILE: portiaui/app/routes/projects/project/spider/sample/data/annotation/options.js method model (line 5) | model() { method afterModel (line 9) | afterModel() { method renderTemplate (line 17) | renderTemplate() { method close (line 25) | close() { FILE: portiaui/app/routes/projects/project/spider/sample/data/item.js method model (line 4) | model(params) { method error (line 9) | error() { FILE: portiaui/app/routes/projects/project/spider/sample/index.js method redirect (line 4) | redirect(model, {queryParams}) { FILE: portiaui/app/routes/projects/project/spider/start-url.js method model (line 4) | model(params) { FILE: portiaui/app/routes/projects/project/spider/start-url/options.js method model (line 5) | model() { method afterModel (line 14) | afterModel(model) { method renderTemplate (line 20) | renderTemplate() { method getSpider (line 27) | getSpider() { method transitionToSpider (line 31) | transitionToSpider() { method closeOptions (line 36) | closeOptions() { FILE: portiaui/app/serializers/application.js method normalize (line 4) | normalize(modelClass, resourceHash) { method serialize (line 14) | serialize(snapshot, options) { FILE: portiaui/app/services/annotation-structure.js method init (line 12) | init() { method destroy (line 17) | destroy() { method addObservers (line 27) | addObservers() { method removeObservers (line 159) | removeObservers() { function createStructure (line 202) | function createStructure(sample) { function updateStructureSelectors (line 237) | function updateStructureSelectors(structure, selectorMatcher) { method addStructure (line 281) | addStructure(model, attribute, Class) { method removeStructure (line 293) | removeStructure(model, attribute) { method addDataStructure (line 305) | addDataStructure(sample) { method removeDataStructure (line 309) | removeDataStructure(sample) { FILE: portiaui/app/services/browser.js constant NAVIGATION_MODE (line 5) | const NAVIGATION_MODE = 'navigation'; constant ANNOTATION_MODE (line 6) | const ANNOTATION_MODE = 'data-annotation'; constant INTERACTION_MODES (line 7) | const INTERACTION_MODES = new Set([ANNOTATION_MODE]); constant DEFAULT_MODE (line 8) | const DEFAULT_MODE = NAVIGATION_MODE; constant META_STYLE (line 11) | const META_STYLE = `