if not len(login_base):
raise PLCInvalidArgument, "Login base must be specified"
- if not set(login_base).issubset(string.lowercase + string.digits):
- raise PLCInvalidArgument, "Login base must consist only of lowercase ASCII letters or numbers"
+ if not set(login_base).issubset(string.lowercase + string.digits + '.'):
+ raise PLCInvalidArgument, "Login base must consist only of lowercase ASCII letters or numbers or dots"
conflicts = Sites(self.api, [login_base])
for site in conflicts:
site_filter = Filter(Site.fields, {'site_id': ints, 'login_base': strs})
sql += " AND (%s) %s" % site_filter.sql(api, "OR")
elif isinstance(site_filter, dict):
- site_filter = Filter(Site.fields, site_filter)
+ allowed_fields=dict(Site.fields.items()+Site.tags.items())
+ site_filter = Filter(allowed_fields, site_filter)
sql += " AND (%s) %s" % site_filter.sql(api, "AND")
elif isinstance (site_filter, StringTypes):
site_filter = Filter(Site.fields, {'login_base':site_filter})