docs: add docstring for import_file_by_path
This commit is contained in:
parent
86f29aeaa3
commit
ba78852c73
2 changed files with 30 additions and 2 deletions
|
|
@ -70,7 +70,7 @@ def sync_for(app_name, force=0, reset_permissions=False):
|
|||
|
||||
if l:
|
||||
for i, doc_path in enumerate(files):
|
||||
import_file_by_path(doc_path, force=force, ignore_version=True, reset_permissions=reset_permissions, for_sync=True)
|
||||
import_file_by_path(doc_path, force=force, ignore_version=True, reset_permissions=reset_permissions)
|
||||
|
||||
frappe.db.commit()
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,35 @@ def get_file_path(module, dt, dn):
|
|||
|
||||
return path
|
||||
|
||||
def import_file_by_path(path, force=False, data_import=False, pre_process=None, ignore_version=None, reset_permissions=False, for_sync=False):
|
||||
|
||||
def import_file_by_path(path: str,force: bool = False,data_import: bool = False,pre_process = None,ignore_version: bool = None,reset_permissions: bool = False):
|
||||
"""Import file from the given path
|
||||
|
||||
Some conditions decide if a file should be imported or not.
|
||||
Evaluation takes place in the order they are mentioned below.
|
||||
|
||||
- Check if `force` is true. Import the file. If not, move ahead.
|
||||
- Get `db_modified_timestamp`(value of the modified field in the database for the file).
|
||||
If the return is `none,` this file doesn't exist in the DB, so Import the file. If not, move ahead.
|
||||
- Check if there is a hash in DB for that file. If there is, Calculate the Hash of the file to import and compare it with the one in DB if they are not equal.
|
||||
Import the file. If Hash doesn't exist, move ahead.
|
||||
- Check if `db_modified_timestamp` is older than the timestamp in the file; if it is, we import the file.
|
||||
|
||||
If timestamp comparison happens for doctypes, that means the Hash for it doesn't exist.
|
||||
So, even if the timestamp is newer on DB (When comparing timestamps), we import the file and add the calculated Hash to the DB.
|
||||
So in the subsequent imports, we can use hashes to compare. As a precautionary measure, the timestamp is updated to the current time as well.
|
||||
|
||||
Args:
|
||||
path (str): Path to the file.
|
||||
force (bool, optional): Load the file without checking any conditions. Defaults to False.
|
||||
data_import (bool, optional): [description]. Defaults to False.
|
||||
pre_process ([type], optional): Any preprocesing that may need to take place on the doc. Defaults to None.
|
||||
ignore_version (bool, optional): ignore current version. Defaults to None.
|
||||
reset_permissions (bool, optional): reset permissions for the file. Defaults to False.
|
||||
|
||||
Returns:
|
||||
[bool]: True if import takes place. False if it wasn't imported.
|
||||
"""
|
||||
frappe.flags.dt = frappe.flags.dt or []
|
||||
try:
|
||||
docs = read_doc_from_file(path)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue