sharing/csv separator and properties overlay
This commit is contained in:
@@ -958,7 +958,8 @@ class BaseSharing:
|
|||||||
if output_format == "csv":
|
if output_format == "csv":
|
||||||
writer.writeheader()
|
writer.writeheader()
|
||||||
for entry in answer['Content']:
|
for entry in answer['Content']:
|
||||||
writer.writerow(entry)
|
# TODO: Argument 1 to "writerow" of "DictWriter" has incompatible type "str"; expected "Mapping[str, Any]" [arg-type]
|
||||||
|
writer.writerow(entry) # type: ignore[arg-type]
|
||||||
if output_format == "csv":
|
if output_format == "csv":
|
||||||
answer_array.append(csv.getvalue())
|
answer_array.append(csv.getvalue())
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -128,9 +128,9 @@ class Sharing(sharing.BaseSharing):
|
|||||||
UserShare = row['User']
|
UserShare = row['User']
|
||||||
Permissions = row['Permissions']
|
Permissions = row['Permissions']
|
||||||
Hidden: bool = (row['HiddenByOwner'] or row['HiddenByUser'])
|
Hidden: bool = (row['HiddenByOwner'] or row['HiddenByUser'])
|
||||||
Properties = row['Properties']
|
Properties: Union[dict, None] = None
|
||||||
if logger.isEnabledFor(logging.DEBUG):
|
if 'Properties' in row:
|
||||||
logger.debug("TRACE/sharing: map %r to %r (Owner=%r User=%r Permissions=%r Hidden=%s Properties=%r)", PathOrToken, PathMapped, Owner, UserShare, Permissions, Hidden, Properties)
|
Properties = row['Properties']
|
||||||
return {
|
return {
|
||||||
"mapped": True,
|
"mapped": True,
|
||||||
"PathOrToken": PathOrToken,
|
"PathOrToken": PathOrToken,
|
||||||
@@ -501,7 +501,7 @@ class Sharing(sharing.BaseSharing):
|
|||||||
def _create_empty_csv(self, file: str) -> bool:
|
def _create_empty_csv(self, file: str) -> bool:
|
||||||
with self._storage.acquire_lock("w", None, path=file):
|
with self._storage.acquire_lock("w", None, path=file):
|
||||||
with open(file, 'w', newline='') as csvfile:
|
with open(file, 'w', newline='') as csvfile:
|
||||||
writer = csv.DictWriter(csvfile, fieldnames=sharing.DB_FIELDS_V1)
|
writer = csv.DictWriter(csvfile, fieldnames=sharing.DB_FIELDS_V1, delimiter=';')
|
||||||
writer.writeheader()
|
writer.writeheader()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -523,7 +523,10 @@ class Sharing(sharing.BaseSharing):
|
|||||||
# convert txt to bool
|
# convert txt to bool
|
||||||
if self._lines > 0:
|
if self._lines > 0:
|
||||||
for fieldname in sharing.DB_FIELDS_V1_BOOL:
|
for fieldname in sharing.DB_FIELDS_V1_BOOL:
|
||||||
row[fieldname] = config._convert_to_bool(row[fieldname])
|
try:
|
||||||
|
row[fieldname] = config._convert_to_bool(row[fieldname])
|
||||||
|
except Exception as e:
|
||||||
|
logger.error("sharing database row error fieldname=%r row=%r error: %r", fieldname, row, e)
|
||||||
for fieldname in sharing.DB_FIELDS_V1_INT:
|
for fieldname in sharing.DB_FIELDS_V1_INT:
|
||||||
row[fieldname] = int(row[fieldname])
|
row[fieldname] = int(row[fieldname])
|
||||||
# check for duplicates
|
# check for duplicates
|
||||||
|
|||||||
@@ -122,7 +122,9 @@ class Sharing(sharing.BaseSharing):
|
|||||||
UserShare = row['User']
|
UserShare = row['User']
|
||||||
Permissions = row['Permissions']
|
Permissions = row['Permissions']
|
||||||
Hidden: bool = (row['HiddenByOwner'] or row['HiddenByUser'])
|
Hidden: bool = (row['HiddenByOwner'] or row['HiddenByUser'])
|
||||||
Properties = row['Properties']
|
Properties: Union[dict, None] = None
|
||||||
|
if 'Properties' in row:
|
||||||
|
Properties = row['Properties']
|
||||||
if logger.isEnabledFor(logging.DEBUG):
|
if logger.isEnabledFor(logging.DEBUG):
|
||||||
logger.debug("TRACE/sharing: map %r to %r (Owner=%r User=%r Permissions=%r Hidden=%s Properties=%r)", PathOrToken, PathMapped, Owner, UserShare, Permissions, Hidden, Properties)
|
logger.debug("TRACE/sharing: map %r to %r (Owner=%r User=%r Permissions=%r Hidden=%s Properties=%r)", PathOrToken, PathMapped, Owner, UserShare, Permissions, Hidden, Properties)
|
||||||
return {
|
return {
|
||||||
|
|||||||
Reference in New Issue
Block a user