mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-14 06:44:07 +00:00
made age a required argument for the -clean-deleted command
This commit is contained in:
@@ -60,14 +60,13 @@ to finish the recomputation.
|
||||
|
||||
## Removing large deleted objects
|
||||
|
||||
Command: `nominatim admin --clean-deleted --age <PostgreSQL Time Interval>`
|
||||
Command: `nominatim admin --clean-deleted <PostgreSQL Time Interval>`
|
||||
|
||||
Nominatim refuses to delete very large areas because often these deletions are
|
||||
accidental and are reverted within hours. Instead the deletions are logged in
|
||||
the `import_polygon_delete` table and left to the administrator to clean up.
|
||||
|
||||
To run this command you will need to pass a PostgreSQL time interval to the age
|
||||
parameter. For example to delete any objects that have been deleted more than a
|
||||
month ago you would run:
|
||||
`nominatim admin --clean-deleted --age '1 month'`
|
||||
To run this command you will need to pass a PostgreSQL time interval. For example to
|
||||
delete any objects that have been deleted more than a month ago you would run:
|
||||
`nominatim admin --clean-deleted '1 month'`
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ class AdminFuncs:
|
||||
help='Print performance analysis of the indexing process')
|
||||
objs.add_argument('--collect-os-info', action="store_true",
|
||||
help="Generate a report about the host system information")
|
||||
objs.add_argument('--clean-deleted', action='store_true',
|
||||
objs.add_argument('--clean-deleted', action='store', metavar='AGE',
|
||||
help='Clean up deleted relations')
|
||||
group = parser.add_argument_group('Arguments for cache warming')
|
||||
group.add_argument('--search-only', action='store_const', dest='target',
|
||||
@@ -58,8 +58,6 @@ class AdminFuncs:
|
||||
mgroup.add_argument('--place-id', type=int,
|
||||
help='Analyse indexing of the given Nominatim object')
|
||||
group = parser.add_argument_group('Arguments for cleaning deleted')
|
||||
group.add_argument('--age', type=str,
|
||||
help='Delete relations older than the given PostgreSQL time interval')
|
||||
|
||||
|
||||
def run(self, args: NominatimArgs) -> int:
|
||||
@@ -90,11 +88,9 @@ class AdminFuncs:
|
||||
return 0
|
||||
|
||||
if args.clean_deleted:
|
||||
if not args.age:
|
||||
self.parser.error('Age is required for --clean-deleted command')
|
||||
LOG.warning('Cleaning up deleted relations')
|
||||
from ..tools import admin
|
||||
admin.clean_deleted_relations(args.config, age=args.age)
|
||||
admin.clean_deleted_relations(args.config, age=args.clean_deleted)
|
||||
return 0
|
||||
|
||||
return 1
|
||||
|
||||
@@ -72,12 +72,11 @@ class NominatimArgs:
|
||||
check_database: bool
|
||||
migrate: bool
|
||||
collect_os_info: bool
|
||||
clean_deleted: bool
|
||||
clean_deleted: str
|
||||
analyse_indexing: bool
|
||||
target: Optional[str]
|
||||
osm_id: Optional[str]
|
||||
place_id: Optional[int]
|
||||
age: str
|
||||
|
||||
# Arguments to 'import'
|
||||
osm_file: List[str]
|
||||
|
||||
@@ -36,14 +36,13 @@ def test_admin_migrate(cli_call, mock_func_factory):
|
||||
def test_admin_clean_deleted_relations(cli_call, mock_func_factory):
|
||||
mock = mock_func_factory(nominatim.tools.admin, 'clean_deleted_relations')
|
||||
|
||||
assert cli_call('admin', '--clean-deleted', '--age', '1 month') == 0
|
||||
assert cli_call('admin', '--clean-deleted', '1 month') == 0
|
||||
assert mock.called == 1
|
||||
|
||||
def test_admin_clean_deleted_relations_no_age(cli_call, mock_func_factory):
|
||||
mock = mock_func_factory(nominatim.tools.admin, 'clean_deleted_relations')
|
||||
|
||||
with pytest.raises(SystemExit):
|
||||
cli_call('admin', '--clean-deleted')
|
||||
assert cli_call('admin', '--clean-deleted') == 1
|
||||
|
||||
class TestCliAdminWithDb:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user