server/mirrormanager/controllers.py | 6 ++++--
server/mirrormanager/model.py | 2 ++
server/mirrormanager/schema_updates/__init__.py | 10 +++++++++-
3 files changed, 15 insertions(+), 3 deletions(-)
New commits:
commit 3bddb76c6014cb2089ba6a9756701444c9eb4547
Author: Matt Domsch <Matt_Domsch(a)dell.com>
Date: Sat Jul 30 14:40:53 2011 -0500
SCHEMA CHANGE: add name fields to HostNetblock and HostPeerAsn tables
diff --git a/server/mirrormanager/controllers.py b/server/mirrormanager/controllers.py
index 7636786..886d39d 100644
--- a/server/mirrormanager/controllers.py
+++ b/server/mirrormanager/controllers.py
@@ -642,6 +642,7 @@ class HostAclIPController(HostListitemController):
class HostNetblockFields(widgets.WidgetsList):
netblock =
widgets.TextField(validator=validators.All(validators.UnicodeString,validators.NotEmpty))
+ name = widgets.TextField(validator=validators.UnicodeString)
host_netblock_form = widgets.TableForm(fields=HostNetblockFields(),
submit_text="Create Host Netblock")
@@ -673,11 +674,12 @@ class HostNetblockController(HostListitemController):
# also accept DNS hostnames
pass
- HostNetblock(host=host, netblock=kwargs['netblock'])
+ HostNetblock(host=host, netblock=kwargs['netblock'],
name=kwargs['name'])
class HostPeerAsnFields(widgets.WidgetsList):
asn =
widgets.TextField(validator=validators.All(validators.Int,validators.NotEmpty))
+ name = widgets.TextField(validator=validators.UnicodeString)
host_peer_asn_form = widgets.TableForm(fields=HostPeerAsnFields(),
submit_text="Create Host Peer ASN")
@@ -693,7 +695,7 @@ class HostPeerAsnController(HostListitemController):
return dict(values=v, host=v.host)
def do_create(self, host, kwargs):
- HostPeerAsn(host=host, asn=kwargs['asn'])
+ HostPeerAsn(host=host, asn=kwargs['asn'], name=kwargs['name'])
class HostCountryAllowedFields(widgets.WidgetsList):
country =
widgets.TextField(validator=validators.Regex(r'^[a-zA-Z][a-zA-Z]$'),
diff --git a/server/mirrormanager/model.py b/server/mirrormanager/model.py
index 6ca8fc9..67c08da 100644
--- a/server/mirrormanager/model.py
+++ b/server/mirrormanager/model.py
@@ -577,6 +577,7 @@ class HostNetblock(SQLObject):
cacheValues = False
host = ForeignKey('Host')
netblock = StringCol()
+ name = UnicodeCol()
def my_site(self):
return self.host.my_site()
@@ -586,6 +587,7 @@ class HostPeerAsn(SQLObject):
cacheValues = False
host = ForeignKey('Host')
asn = IntCol()
+ name = UnicodeCol()
idx = DatabaseIndex('host', 'asn', unique=True)
diff --git a/server/mirrormanager/schema_updates/__init__.py
b/server/mirrormanager/schema_updates/__init__.py
index ab0cbf7..8224b9c 100644
--- a/server/mirrormanager/schema_updates/__init__.py
+++ b/server/mirrormanager/schema_updates/__init__.py
@@ -2,7 +2,7 @@ from sqlobject import *
from sqlobject.sqlbuilder import *
from turbogears import identity, config
from mirrormanager.model import *
-from sqlobject import SQLObject, BoolCol, IntCol
+from sqlobject import SQLObject, BoolCol, IntCol, UnicodeCol, DatabaseIndex
from oldtables import *
import GeoIP
@@ -55,6 +55,10 @@ def change_tables():
OldSiteToSite.sqlmeta.addColumn(DatabaseIndex("username_idx",
'upstream_site', 'username', unique=True), changeSchema=True)
changes['sitetosite.username_password'] = True
+ if 'name' not in OldHostNetblock.sqlmeta.columns:
+ OldHostNetblock.sqlmeta.addColumn(UnicodeCol("name", default=None),
changeSchema=True)
+ changes['hostnetblock.name'] = True
+
def update_countries():
db_countries = set(c for c.code in Country.select())
geoip_countries = set(GeoIP.country_codes)
@@ -88,6 +92,10 @@ def fill_new_columns():
s.username = None
s.password = None
+ if changes.get('hostnetblock.name'):
+ for n in HostNetblock.select():
+ n.name = None
+
update_countries()