Skip to content

Instantly share code, notes, and snippets.

@philipn
Created January 6, 2012 21:35
Show Gist options
  • Save philipn/1572501 to your computer and use it in GitHub Desktop.
Save philipn/1572501 to your computer and use it in GitHub Desktop.
Run:
localwiki-manage shell
then enter this, afer editing the `ago` value:
import datetime
now = datetime.datetime.now()
###############
# SET THIS:
###############
ago = datetime.timedelta(minutes=15)
last_good_date = now - ago
from pages.models import Page, PageFile
from maps.models import MapData
from redirects.models import Redirect
def rollback_all_to_date(M, t):
for m_h in M.versions.filter(version_info__date__gte=t):
obj = m_h.version_info._object
try:
as_of = obj.versions.as_of(t)
as_of.revert_to(delete_newer_versions=True, track_changes=False)
except M.DoesNotExist:
m_h.delete()
obj.delete(track_changes=False)
models = [Page, PageFile, MapData, Redirect]
for M in models:
rollback_all_to_date(M, last_good_date)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment