drf-to-mkdoc 0.2.2__py3-none-any.whl → 0.2.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of drf-to-mkdoc might be problematic. Click here for more details.
- drf_to_mkdoc/conf/defaults.py +1 -0
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/form-manager.js +172 -0
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/main.js +22 -0
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/modal.js +79 -0
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/request-executor.js +111 -0
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/suggestions.js +216 -0
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/tabs.js +34 -0
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/buttons.css +71 -0
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/fab.css +47 -0
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/form.css +124 -0
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/key-value.css +161 -0
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/main.css +57 -0
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/modal.css +112 -0
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/response.css +158 -0
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/tabs.css +62 -0
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/variables.css +38 -0
- drf_to_mkdoc/templates/endpoints/detail/base.html +3 -1
- drf_to_mkdoc/templates/endpoints/detail/query_parameters.html +1 -8
- drf_to_mkdoc/templates/endpoints/detail/responses.html +4 -4
- drf_to_mkdoc/templates/try-out/fab.html +4 -0
- drf_to_mkdoc/templates/try-out/form.html +113 -0
- drf_to_mkdoc/templates/try-out/main.html +4 -0
- drf_to_mkdoc/templates/try-out/modal.html +14 -0
- drf_to_mkdoc/templates/try-out/response-modal.html +20 -0
- drf_to_mkdoc/templatetags/custom_filters.py +33 -1
- drf_to_mkdoc/utils/commons/schema_utils.py +5 -14
- drf_to_mkdoc/utils/endpoint_detail_generator.py +140 -21
- drf_to_mkdoc/utils/extractors/query_parameter_extractors.py +0 -15
- {drf_to_mkdoc-0.2.2.dist-info → drf_to_mkdoc-0.2.3.dist-info}/METADATA +1 -1
- {drf_to_mkdoc-0.2.2.dist-info → drf_to_mkdoc-0.2.3.dist-info}/RECORD +33 -15
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out-sidebar.js +0 -879
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/try-out-sidebar.css +0 -728
- {drf_to_mkdoc-0.2.2.dist-info → drf_to_mkdoc-0.2.3.dist-info}/WHEEL +0 -0
- {drf_to_mkdoc-0.2.2.dist-info → drf_to_mkdoc-0.2.3.dist-info}/licenses/LICENSE +0 -0
- {drf_to_mkdoc-0.2.2.dist-info → drf_to_mkdoc-0.2.3.dist-info}/top_level.txt +0 -0
|
@@ -366,10 +366,17 @@ def _enhance_method_field_schema(_operation_id, schema: dict, _components: dict)
|
|
|
366
366
|
|
|
367
367
|
def _resolve_schema_reference(schema: dict, components: dict) -> dict:
|
|
368
368
|
"""Resolve $ref references in schema."""
|
|
369
|
-
if "$ref" in schema:
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
369
|
+
if "$ref" not in schema:
|
|
370
|
+
return schema
|
|
371
|
+
|
|
372
|
+
ref = schema["$ref"]
|
|
373
|
+
target = components.get("schemas", {}).get(ref.split("/")[-1], {})
|
|
374
|
+
# Work on a copy to avoid mutating components
|
|
375
|
+
resolved = dict(target) if isinstance(target, dict) else {}
|
|
376
|
+
for key, value in schema.items():
|
|
377
|
+
if key != "$ref":
|
|
378
|
+
resolved[key] = value
|
|
379
|
+
return resolved
|
|
373
380
|
|
|
374
381
|
|
|
375
382
|
def _handle_all_of_schema(schema: dict, components: dict, _for_response: bool) -> dict:
|
|
@@ -401,16 +408,22 @@ def _handle_all_of_schema(schema: dict, components: dict, _for_response: bool) -
|
|
|
401
408
|
|
|
402
409
|
def _get_explicit_value(schema: dict):
|
|
403
410
|
"""Get explicit value from schema (enum, example, or default)."""
|
|
404
|
-
# Ensure schema is a dictionary
|
|
405
411
|
if not isinstance(schema, dict):
|
|
406
412
|
return None
|
|
407
413
|
|
|
408
414
|
if "enum" in schema:
|
|
409
415
|
return schema["enum"][0]
|
|
416
|
+
|
|
410
417
|
if "example" in schema:
|
|
411
418
|
return schema["example"]
|
|
419
|
+
|
|
412
420
|
if "default" in schema:
|
|
421
|
+
# For array types with items schema, don't use empty default
|
|
422
|
+
# Let the generator create a proper example instead
|
|
423
|
+
if schema.get("type") == "array" and "items" in schema:
|
|
424
|
+
return None
|
|
413
425
|
return schema["default"]
|
|
426
|
+
|
|
414
427
|
return None
|
|
415
428
|
|
|
416
429
|
|
|
@@ -499,11 +512,7 @@ def format_schema_as_json_example(
|
|
|
499
512
|
if description:
|
|
500
513
|
result += f"{description}\n\n"
|
|
501
514
|
|
|
502
|
-
|
|
503
|
-
result += json.dumps(example_json, indent=2)
|
|
504
|
-
result += "\n```\n"
|
|
505
|
-
|
|
506
|
-
return result
|
|
515
|
+
return json.dumps(example_json, indent=2)
|
|
507
516
|
|
|
508
517
|
|
|
509
518
|
def _format_schema_for_display(
|
|
@@ -518,22 +527,122 @@ def _format_schema_for_display(
|
|
|
518
527
|
operation_id, schema["$ref"], components, for_response
|
|
519
528
|
)
|
|
520
529
|
|
|
521
|
-
|
|
522
|
-
|
|
530
|
+
return schema_to_example_json(operation_id, schema, components, for_response)
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
def _generate_field_value(
|
|
534
|
+
field_name: str,
|
|
535
|
+
prop_schema: dict,
|
|
536
|
+
operation_id: str,
|
|
537
|
+
components: dict,
|
|
538
|
+
is_response: bool = True,
|
|
539
|
+
) -> Any:
|
|
540
|
+
"""Generate a realistic value for a specific field based on its name and schema."""
|
|
541
|
+
# Get field-specific generator from settings
|
|
542
|
+
field_generator = get_field_generator(field_name)
|
|
543
|
+
|
|
544
|
+
if field_generator:
|
|
545
|
+
return field_generator(prop_schema)
|
|
546
|
+
|
|
547
|
+
# Fallback to schema-based generation
|
|
548
|
+
return schema_to_example_json(operation_id, prop_schema, components, is_response)
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
def get_field_generator(field_name: str):
|
|
552
|
+
"""Get appropriate generator function for a field name from settings."""
|
|
553
|
+
return drf_to_mkdoc_settings.FIELD_GENERATORS.get(field_name.lower())
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
def _generate_examples(operation_id: str, schema: dict, components: dict) -> list:
|
|
557
|
+
"""Generate examples for a schema."""
|
|
558
|
+
|
|
559
|
+
if "$ref" in schema:
|
|
560
|
+
schema = _resolve_schema_reference(schema, components)
|
|
561
|
+
|
|
562
|
+
examples = []
|
|
563
|
+
|
|
564
|
+
# Handle object with array properties
|
|
565
|
+
if schema.get("type") == "object" and "properties" in schema:
|
|
566
|
+
empty_example = {}
|
|
567
|
+
populated_example = {}
|
|
568
|
+
has_array_default = False
|
|
569
|
+
|
|
570
|
+
# Check for array fields with default=[]
|
|
571
|
+
for _prop_name, prop_schema in schema["properties"].items():
|
|
572
|
+
resolved_prop_schema = (
|
|
573
|
+
_resolve_schema_reference(prop_schema, components)
|
|
574
|
+
if "$ref" in prop_schema
|
|
575
|
+
else prop_schema
|
|
576
|
+
)
|
|
577
|
+
if (
|
|
578
|
+
resolved_prop_schema.get("type") == "array"
|
|
579
|
+
and resolved_prop_schema.get("default") == []
|
|
580
|
+
):
|
|
581
|
+
has_array_default = True
|
|
582
|
+
break
|
|
583
|
+
|
|
584
|
+
# Generate examples
|
|
585
|
+
for prop_name, prop_schema in schema["properties"].items():
|
|
586
|
+
resolved_prop_schema = (
|
|
587
|
+
_resolve_schema_reference(prop_schema, components)
|
|
588
|
+
if "$ref" in prop_schema
|
|
589
|
+
else prop_schema
|
|
590
|
+
)
|
|
591
|
+
|
|
592
|
+
if (
|
|
593
|
+
resolved_prop_schema.get("type") == "array"
|
|
594
|
+
and resolved_prop_schema.get("default") == []
|
|
595
|
+
):
|
|
596
|
+
empty_example[prop_name] = []
|
|
597
|
+
items_schema = resolved_prop_schema.get("items", {})
|
|
598
|
+
populated_example[prop_name] = [
|
|
599
|
+
_generate_field_value(
|
|
600
|
+
prop_name, items_schema, operation_id, components, True
|
|
601
|
+
)
|
|
602
|
+
]
|
|
603
|
+
else:
|
|
604
|
+
value = _generate_field_value(
|
|
605
|
+
prop_name, resolved_prop_schema, operation_id, components, True
|
|
606
|
+
)
|
|
607
|
+
empty_example[prop_name] = value
|
|
608
|
+
populated_example[prop_name] = value
|
|
609
|
+
|
|
610
|
+
if has_array_default:
|
|
611
|
+
examples.append(empty_example)
|
|
612
|
+
examples.append(populated_example)
|
|
613
|
+
else:
|
|
614
|
+
examples.append(empty_example)
|
|
615
|
+
|
|
616
|
+
# Handle array field with default=[]
|
|
617
|
+
elif schema.get("type") == "array" and schema.get("default") == []:
|
|
618
|
+
examples.append([])
|
|
619
|
+
items_schema = schema.get("items", {})
|
|
620
|
+
populated_example = [
|
|
621
|
+
_generate_field_value("items", items_schema, operation_id, components, True)
|
|
622
|
+
]
|
|
623
|
+
examples.append(populated_example)
|
|
624
|
+
else:
|
|
625
|
+
example = _generate_field_value("root", schema, operation_id, components, True)
|
|
626
|
+
examples.append(example)
|
|
627
|
+
|
|
628
|
+
return examples
|
|
523
629
|
|
|
524
630
|
|
|
525
631
|
def _prepare_response_data(operation_id: str, responses: dict, components: dict) -> list:
|
|
526
632
|
"""Prepare response data for template rendering."""
|
|
633
|
+
|
|
527
634
|
formatted_responses = []
|
|
528
635
|
for status_code, response_data in responses.items():
|
|
529
636
|
schema = response_data.get("content", {}).get("application/json", {}).get("schema", {})
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
637
|
+
|
|
638
|
+
examples = _generate_examples(operation_id, schema, components)
|
|
639
|
+
|
|
640
|
+
formatted_response = {
|
|
641
|
+
"status_code": status_code,
|
|
642
|
+
"description": response_data.get("description", ""),
|
|
643
|
+
"examples": examples,
|
|
644
|
+
}
|
|
645
|
+
formatted_responses.append(formatted_response)
|
|
537
646
|
return formatted_responses
|
|
538
647
|
|
|
539
648
|
|
|
@@ -580,9 +689,16 @@ def create_endpoint_page(
|
|
|
580
689
|
"stylesheets/endpoints/animations.css",
|
|
581
690
|
"stylesheets/endpoints/accessibility.css",
|
|
582
691
|
"stylesheets/endpoints/loading.css",
|
|
583
|
-
"stylesheets/
|
|
692
|
+
"stylesheets/try-out/main.css",
|
|
693
|
+
],
|
|
694
|
+
"scripts": [
|
|
695
|
+
"javascripts/try-out/modal.js",
|
|
696
|
+
"javascripts/try-out/tabs.js",
|
|
697
|
+
"javascripts/try-out/form-manager.js",
|
|
698
|
+
"javascripts/try-out/request-executor.js",
|
|
699
|
+
"javascripts/try-out/suggestions.js",
|
|
700
|
+
"javascripts/try-out/main.js",
|
|
584
701
|
],
|
|
585
|
-
"scripts": ["javascripts/try-out-sidebar.js"],
|
|
586
702
|
"prefix_path": f"{drf_to_mkdoc_settings.PROJECT_NAME}/",
|
|
587
703
|
}
|
|
588
704
|
|
|
@@ -590,6 +706,9 @@ def create_endpoint_page(
|
|
|
590
706
|
if _is_list_endpoint(method, path, operation_id):
|
|
591
707
|
query_params = extract_query_parameters_from_view(operation_id)
|
|
592
708
|
_add_custom_parameters(operation_id, query_params)
|
|
709
|
+
for key, value in query_params.items():
|
|
710
|
+
# Prevent duplicates while preserving order
|
|
711
|
+
query_params[key] = list(dict.fromkeys(value))
|
|
593
712
|
context["query_parameters"] = query_params
|
|
594
713
|
|
|
595
714
|
return render_to_string("endpoints/detail/base.html", context)
|
|
@@ -11,7 +11,6 @@ def extract_query_parameters_from_view(operation_id: str) -> dict[str, Any]:
|
|
|
11
11
|
"search_fields": [],
|
|
12
12
|
"filter_fields": [],
|
|
13
13
|
"ordering_fields": [],
|
|
14
|
-
"filter_backends": [],
|
|
15
14
|
"pagination_fields": [],
|
|
16
15
|
}
|
|
17
16
|
|
|
@@ -19,7 +18,6 @@ def extract_query_parameters_from_view(operation_id: str) -> dict[str, Any]:
|
|
|
19
18
|
"search_fields": extract_query_parameters_from_view_search_fields(view_class),
|
|
20
19
|
"filter_fields": extract_query_parameters_from_view_filter_fields(view_class),
|
|
21
20
|
"ordering_fields": extract_query_parameters_from_view_ordering_fields(view_class),
|
|
22
|
-
"filter_backends": extract_query_parameters_from_view_filter_backends(view_class),
|
|
23
21
|
"pagination_fields": extract_query_parameters_from_view_pagination_fields(view_class),
|
|
24
22
|
}
|
|
25
23
|
|
|
@@ -62,19 +60,6 @@ def extract_query_parameters_from_view_ordering_fields(view_class: Any) -> list[
|
|
|
62
60
|
return ordering_fields
|
|
63
61
|
|
|
64
62
|
|
|
65
|
-
def extract_query_parameters_from_view_filter_backends(view_class: Any) -> list[str]:
|
|
66
|
-
"""Extract filter backends from a Django view class"""
|
|
67
|
-
if not view_class:
|
|
68
|
-
return []
|
|
69
|
-
|
|
70
|
-
filter_backends = []
|
|
71
|
-
if hasattr(view_class, "filter_backends") and view_class.filter_backends:
|
|
72
|
-
for backend in view_class.filter_backends:
|
|
73
|
-
filter_backends.append(getattr(backend, "__name__", str(backend)))
|
|
74
|
-
|
|
75
|
-
return filter_backends
|
|
76
|
-
|
|
77
|
-
|
|
78
63
|
def extract_query_parameters_from_view_pagination_fields(view_class: Any) -> list[str]:
|
|
79
64
|
"""Extract pagination fields from a Django view class"""
|
|
80
65
|
if not view_class:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: drf-to-mkdoc
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: Generate Markdown API docs from Django/DRF OpenAPI schema for MkDocs
|
|
5
5
|
Author-email: Hossein Shayesteh <shayestehhs1@gmail.com>
|
|
6
6
|
Maintainer-email: Hossein Shayesteh <shayestehhs1@gmail.com>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
drf_to_mkdoc/__init__.py,sha256=IbTW5uKQvJRG9ncHRuk_AGKHPn4ruxs5LqDpUFgUhws,180
|
|
2
2
|
drf_to_mkdoc/apps.py,sha256=-NrC_dRr6GmLmNQhkNh819B7V1SS4DYDv5JOR0TtuJM,560
|
|
3
3
|
drf_to_mkdoc/conf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
drf_to_mkdoc/conf/defaults.py,sha256=
|
|
4
|
+
drf_to_mkdoc/conf/defaults.py,sha256=mE9c42NqWnEpR5hxhDSdDewgKbvqcU3v1DI0ge_xao0,1014
|
|
5
5
|
drf_to_mkdoc/conf/settings.py,sha256=3f268CZzyf9KYab6EvsjIVXP6KBik1k_B4JyJpXDwrU,5456
|
|
6
6
|
drf_to_mkdoc/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
drf_to_mkdoc/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -12,7 +12,12 @@ drf_to_mkdoc/management/commands/extract_model_data.py,sha256=XoMO4C22ZPKQ99bh1W
|
|
|
12
12
|
drf_to_mkdoc/management/commands/generate_doc_json.py,sha256=mWdYgMbSeLP4iQZeUm2DxwYQmdGy8w05XTEfbT_nOJo,19833
|
|
13
13
|
drf_to_mkdoc/management/commands/update_doc_schema.py,sha256=TtHVQxnVpB_VELRkVcdsDXDU5zXdguFleB1mXCDMAbg,2009
|
|
14
14
|
drf_to_mkdoc/static/drf-to-mkdoc/javascripts/endpoints-filter.js,sha256=KtfWroqsXg-wwmk36hpoH--M9WIW85EFNGeswMjFu4g,6138
|
|
15
|
-
drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out-
|
|
15
|
+
drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/form-manager.js,sha256=QUzoAHGt1g72eLpZOv2crzyBs3VjRzqI8KJP4Z4wtt4,5702
|
|
16
|
+
drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/main.js,sha256=_kXQhucJexV0_AuOJPQiNda-ACUI0ZyUep-vYXlsvsM,898
|
|
17
|
+
drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/modal.js,sha256=3jbjFoizmZmeiV3uGeQyzcLzUUrRecw3qCw-wxwEH44,2585
|
|
18
|
+
drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/request-executor.js,sha256=hIApsQ6gaXqNjgCyghZF3F6YqLHuLvG56AyLDzoVtjk,4150
|
|
19
|
+
drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/suggestions.js,sha256=J3YskiK24jTDkO2sY5ye4AsLM79F5_AriE1G5NqndPw,7883
|
|
20
|
+
drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/tabs.js,sha256=mlaZ3vYze3-XXNT6XlgUwOXR8uvyylePXSfmHFDu6Is,1107
|
|
16
21
|
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/accessibility.css,sha256=DwCGPoaxaUvyifryrKqmkFDH06XBNf65kYsflMTbi0M,494
|
|
17
22
|
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/animations.css,sha256=61m9SLAbatVUNuFeTUTxktoMu9SskYcwFjTsHYbsCRo,393
|
|
18
23
|
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/badges.css,sha256=kUlUcf72uRw6x6Gn7cUq_aTuSGBbhumZ4Us-eBDM7DM,1251
|
|
@@ -28,7 +33,6 @@ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/sections.css,sha256=xdrO6
|
|
|
28
33
|
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/stats.css,sha256=0cDD8s63r6zQid_O1schNvfIwys1Y526xO6-B6s4Lxc,667
|
|
29
34
|
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/tags.css,sha256=dOw13qsvVjx9cibzgzXlOutXVosNp6LzFfEFKvumG8w,1785
|
|
30
35
|
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/theme-toggle.css,sha256=j1P5xDQDfos8jeVYz5s1jjEeujMlZtLi39OC6VeuMcA,1034
|
|
31
|
-
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/try-out-sidebar.css,sha256=tkfQRpX0HTe09dqdjA4GxG5lOCLpw3Mp7VuxkFQtCvI,15829
|
|
32
36
|
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/variables.css,sha256=Sg2vcQOHdpmEFDn43OeZcMIKxtr5EOEI_wISkCmtcSU,1895
|
|
33
37
|
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/animations.css,sha256=IrqN9vJKgaHAWk2PBRKKmFHgH-lQlw5YZvEOGDqYk_g,656
|
|
34
38
|
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/base.css,sha256=qdXDVScWoEvFbSRfjDlnxvQZBy2JFX9yXPngMWNSZ7o,1849
|
|
@@ -36,12 +40,21 @@ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/model-cards.css,sha256=IppCO
|
|
|
36
40
|
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/model-tables.css,sha256=8CSy8YdFOJ3lGZ3sTVz2jd8cIxIryubQFrwcygAw06w,1352
|
|
37
41
|
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/responsive.css,sha256=ygqyUtpiWchTBBIQil1C6mN0AC5xinLoP7whSKfBmwg,944
|
|
38
42
|
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/variables.css,sha256=2HvyjnJrygSzdzpE-FYpo6FGhrYhmZ7NwDFAkADXQNg,1094
|
|
43
|
+
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/buttons.css,sha256=dqQVg-_TtT84aitXZAOC3eq8MvuWP3NMf_Ub63wK2mg,1771
|
|
44
|
+
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/fab.css,sha256=dWUODpavNQq-LkjKb-E7iEiPYd45tuRPME_w1bq5Nic,1060
|
|
45
|
+
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/form.css,sha256=vwk2Y-BznJkic3_07Izk-NfL7uYWgGhXbVmyuh9Ml9w,3093
|
|
46
|
+
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/key-value.css,sha256=dldQo9OZh5-9n0Xa9eaL8FA5ggKSBsXslOnxbtp39RE,3844
|
|
47
|
+
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/main.css,sha256=i5-b7eUAqw35AavIe-kSeMPz1RejEaA9S7ZFHtITjsA,938
|
|
48
|
+
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/modal.css,sha256=xPTJoGm2FrM1aqJ8S6abF58aA93S0sKuGm0N0PyfXys,2425
|
|
49
|
+
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/response.css,sha256=RJLs1BAyVBaqds1EgQiZGWG8patHzT4QPk8cVv3oDQM,3751
|
|
50
|
+
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/tabs.css,sha256=i-Z-teVEVmLWzHY5b7DdrVROyNjRoQ4EjOsSkGJP2ig,1215
|
|
51
|
+
drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/variables.css,sha256=tWw8GDrLQv70IIIIiDSMBU9n22cg_civnTSM2dmSXDk,1110
|
|
39
52
|
drf_to_mkdoc/templates/models_index.html,sha256=A_Lu3wFMG2Nf8Bv4zttz3e0gZpxBcvDjSvX_rfOYdeI,837
|
|
40
|
-
drf_to_mkdoc/templates/endpoints/detail/base.html,sha256=
|
|
53
|
+
drf_to_mkdoc/templates/endpoints/detail/base.html,sha256=HdLdl-OEkpcF56vK5pvduWZbqdzjmrehI2_B8KYf6y0,857
|
|
41
54
|
drf_to_mkdoc/templates/endpoints/detail/path_parameters.html,sha256=M7OPUg88e3bw01rZpZUVahZzlq3JFaxZDsnDx2Xizx8,310
|
|
42
|
-
drf_to_mkdoc/templates/endpoints/detail/query_parameters.html,sha256=
|
|
55
|
+
drf_to_mkdoc/templates/endpoints/detail/query_parameters.html,sha256=PlkL3HDiyvwEcDC-QFTc4xunV32TzGX5yyqhSS0YyOY,879
|
|
43
56
|
drf_to_mkdoc/templates/endpoints/detail/request_body.html,sha256=-9wacJIQOS-lC2zE31rPaeGs_SkOVm1tAJvebLW6zME,149
|
|
44
|
-
drf_to_mkdoc/templates/endpoints/detail/responses.html,sha256=
|
|
57
|
+
drf_to_mkdoc/templates/endpoints/detail/responses.html,sha256=j5TayLw3r3BCM2ZN0lvO4Tv9Wf-xViG6a-c8-LzeeUI,297
|
|
45
58
|
drf_to_mkdoc/templates/endpoints/list/base.html,sha256=l4A4VmDvDkMKim15feh0DoJkCf2V83EoI4wISUjf4Kc,602
|
|
46
59
|
drf_to_mkdoc/templates/endpoints/list/endpoint_card.html,sha256=PesI9Dlt2kAU1AKcMNGUzIA3lzGcncX-Na0HYiwbR28,1114
|
|
47
60
|
drf_to_mkdoc/templates/endpoints/list/filter_section.html,sha256=oSc7UQazpQptYE_rZz_PHnOQPpQDOff0r4a0sYbtQnk,559
|
|
@@ -55,9 +68,14 @@ drf_to_mkdoc/templates/model_detail/fields.html,sha256=dOYhfwFJThAuG65r8i6_A9bud
|
|
|
55
68
|
drf_to_mkdoc/templates/model_detail/meta.html,sha256=idbnQhV1dT_zLQDD3jZ21vXqLjCxLXIk4rdCiWHm04s,109
|
|
56
69
|
drf_to_mkdoc/templates/model_detail/methods.html,sha256=QZzp8sGKxuyM6_6GXDNnpKUJw0n_cF5CljklduyALTo,143
|
|
57
70
|
drf_to_mkdoc/templates/model_detail/relationships.html,sha256=GK7mip_-_4qxxM7MGmV3HXqiV6X9QkeBtz7oy4xZs4Q,796
|
|
58
|
-
drf_to_mkdoc/
|
|
71
|
+
drf_to_mkdoc/templates/try-out/fab.html,sha256=lkC40-0ww9H1peKhMIbr0HhstpJy7N0q95sVyRb5c58,194
|
|
72
|
+
drf_to_mkdoc/templates/try-out/form.html,sha256=U_InNi18IMAxLdIrLE5pksj0xliF7kb5Tag_pFrpe_4,4555
|
|
73
|
+
drf_to_mkdoc/templates/try-out/main.html,sha256=SbSS989mhcJ46DwAKePjdCnpL1KuCDG8LcuERvRgh1U,144
|
|
74
|
+
drf_to_mkdoc/templates/try-out/modal.html,sha256=KuIMp6Y_PvOgAMp_Qloa8zAlG0JdGmwPf_A3KYM8ZAc,566
|
|
75
|
+
drf_to_mkdoc/templates/try-out/response-modal.html,sha256=o-sLhsKL9Rh23kJ93VTBmXfxONqDuMDfWvkmQrkyH2s,895
|
|
76
|
+
drf_to_mkdoc/templatetags/custom_filters.py,sha256=b_0ExGgBKUIlNkJ8nXlc6mrhhiUUxtdq9thXH-yzEq4,3761
|
|
59
77
|
drf_to_mkdoc/utils/__init__.py,sha256=6dFTb07S6yIf-INMy0Mlgf5purNir687ZU9WZtITh4k,68
|
|
60
|
-
drf_to_mkdoc/utils/endpoint_detail_generator.py,sha256=
|
|
78
|
+
drf_to_mkdoc/utils/endpoint_detail_generator.py,sha256=7G1NXiCBFU0Pm5j4E7wM-scYYNhyGbQuEttlwYv5TKA,28322
|
|
61
79
|
drf_to_mkdoc/utils/endpoint_list_generator.py,sha256=yVX7qVUTuKF3TPFgm6FI-vVsVZQ7XHMXmZZalgSN8pk,3579
|
|
62
80
|
drf_to_mkdoc/utils/model_detail_generator.py,sha256=_ac2PYSzSwRUgUn-J-nmg7mfQGn8SU_4vkMpMRIxgEU,2619
|
|
63
81
|
drf_to_mkdoc/utils/model_list_generator.py,sha256=Ki-CwIYKmUbPm3_jUPLPosPfppyVLrZMkqbuPPO3Ycw,1988
|
|
@@ -75,11 +93,11 @@ drf_to_mkdoc/utils/commons/file_utils.py,sha256=pdjrNZ_oR664tIwKinhlHL3Oeo-pKwaI
|
|
|
75
93
|
drf_to_mkdoc/utils/commons/model_utils.py,sha256=IC2X-SchY448N_T6HA0iOkjuEkmRN92fnDHiaD95aR0,3033
|
|
76
94
|
drf_to_mkdoc/utils/commons/operation_utils.py,sha256=0nQqJYuXcmUeIgEg5mvRPGC9uwMKJFTpswV0L8UX35w,2691
|
|
77
95
|
drf_to_mkdoc/utils/commons/path_utils.py,sha256=Pi9g1xXDPsRzmn4kTeNSVtXG9v6n1h2ZphUgOCYAduw,2992
|
|
78
|
-
drf_to_mkdoc/utils/commons/schema_utils.py,sha256=
|
|
96
|
+
drf_to_mkdoc/utils/commons/schema_utils.py,sha256=1mQxzo08J6tlVmTIJ0hCQ6wCZUWMuV82POhLWUfOYtI,7567
|
|
79
97
|
drf_to_mkdoc/utils/extractors/__init__.py,sha256=BvC8gKOPVI9gU1Piw0jRhKQ2ER5s1moAxgq7ZYkJWNI,86
|
|
80
|
-
drf_to_mkdoc/utils/extractors/query_parameter_extractors.py,sha256=
|
|
81
|
-
drf_to_mkdoc-0.2.
|
|
82
|
-
drf_to_mkdoc-0.2.
|
|
83
|
-
drf_to_mkdoc-0.2.
|
|
84
|
-
drf_to_mkdoc-0.2.
|
|
85
|
-
drf_to_mkdoc-0.2.
|
|
98
|
+
drf_to_mkdoc/utils/extractors/query_parameter_extractors.py,sha256=xELPYI6tcqfkxOa475JPMaxRzRGUX--Z9oYRlKgXb7w,7964
|
|
99
|
+
drf_to_mkdoc-0.2.3.dist-info/licenses/LICENSE,sha256=3n9_ckIREsH8ogCxWW6dFsw_WfGcluG2mHcgl9i_UU0,1068
|
|
100
|
+
drf_to_mkdoc-0.2.3.dist-info/METADATA,sha256=4yYOErLRQKonE5Z73pKOwhYU1V09TY5VYE1e0dkr7YM,7563
|
|
101
|
+
drf_to_mkdoc-0.2.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
102
|
+
drf_to_mkdoc-0.2.3.dist-info/top_level.txt,sha256=ZzJecR6j_tvLZiubUBEgawHflozC4DQy9ooNf1yDJ3Q,13
|
|
103
|
+
drf_to_mkdoc-0.2.3.dist-info/RECORD,,
|