summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Reporting
diff options
context:
space:
mode:
authorJonah BrĂ¼chert <jbb@kaidan.im>2024-04-19 23:52:23 +0200
committerJonah BrĂ¼chert <jbb@kaidan.im>2024-04-19 23:52:23 +0200
commit2724e6409534a948b5a2c212ae0a7192326c1b4c (patch)
treefe49421ea9c00298c01d5c5c52d0687c2f4bb9fd /src/lib/Bcfg2/Reporting
parent4d140a72fdde0e34060b9fa1ef76e05502245d20 (diff)
downloadbcfg2-2724e6409534a948b5a2c212ae0a7192326c1b4c.tar.gz
bcfg2-2724e6409534a948b5a2c212ae0a7192326c1b4c.tar.bz2
bcfg2-2724e6409534a948b5a2c212ae0a7192326c1b4c.zip
Run 2to3 on the entire project
Diffstat (limited to 'src/lib/Bcfg2/Reporting')
-rwxr-xr-xsrc/lib/Bcfg2/Reporting/Reports.py26
-rw-r--r--src/lib/Bcfg2/Reporting/Storage/DjangoORM.py2
-rw-r--r--src/lib/Bcfg2/Reporting/Transport/RedisTransport.py4
-rw-r--r--src/lib/Bcfg2/Reporting/migrations/0001_initial.py2
-rw-r--r--src/lib/Bcfg2/Reporting/migrations/0002_convert_perms_to_mode.py2
-rw-r--r--src/lib/Bcfg2/Reporting/migrations/0003_expand_hash_key.py2
-rw-r--r--src/lib/Bcfg2/Reporting/migrations/0004_profile_can_be_null.py2
-rw-r--r--src/lib/Bcfg2/Reporting/migrations/0005_add_selinux_entry_support.py2
-rw-r--r--src/lib/Bcfg2/Reporting/migrations/0006_add_user_group_entry_support.py2
-rw-r--r--src/lib/Bcfg2/Reporting/migrations/0007_add_flag_fields_interaction.py2
-rw-r--r--src/lib/Bcfg2/Reporting/migrations/0008_add_ready_flag_interaction.py2
-rw-r--r--src/lib/Bcfg2/Reporting/migrations/0009_add_conf_entry.py2
-rw-r--r--src/lib/Bcfg2/Reporting/models.py2
-rw-r--r--src/lib/Bcfg2/Reporting/south_migrations/0009_add_conf_entry.py180
-rwxr-xr-xsrc/lib/Bcfg2/Reporting/utils.py2
-rw-r--r--src/lib/Bcfg2/Reporting/views.py2
16 files changed, 118 insertions, 118 deletions
diff --git a/src/lib/Bcfg2/Reporting/Reports.py b/src/lib/Bcfg2/Reporting/Reports.py
index 7e1661c5a..40bb685f6 100755
--- a/src/lib/Bcfg2/Reporting/Reports.py
+++ b/src/lib/Bcfg2/Reporting/Reports.py
@@ -12,7 +12,7 @@ from django.core.exceptions import ObjectDoesNotExist
def print_entries(interaction, etype):
items = getattr(interaction, etype)()
for item in items:
- print("%-70s %s" % (item.entry_type + ":" + item.name, etype))
+ print(("%-70s %s" % (item.entry_type + ":" + item.name, etype)))
class _FlagsFilterMixin(object):
@@ -63,7 +63,7 @@ class _SingleHostCmd(Bcfg2.Options.Subcommand): # pylint: disable=W0223
try:
return Client.objects.select_related().get(name=setup.host)
except Client.DoesNotExist:
- print("No such host: %s" % setup.host)
+ print(("No such host: %s" % setup.host))
raise SystemExit(2)
@@ -83,7 +83,7 @@ class Show(_SingleHostCmd, _FlagsFilterMixin):
show_all = not setup.bad and not setup.extra and not setup.modified
interaction = self.get_interaction(client, setup)
if interaction is None:
- print("No interactions found for host: %s" % client.name)
+ print(("No interactions found for host: %s" % client.name))
else:
if setup.bad or show_all:
print_entries(interaction, "bad")
@@ -102,11 +102,11 @@ class Total(_SingleHostCmd, _FlagsFilterMixin):
client = self.get_client(setup)
interaction = self.get_interaction(client, setup)
if interaction is None:
- print("No interactions found for host: %s" % client.name)
+ print(("No interactions found for host: %s" % client.name))
else:
managed = interaction.total_count
good = interaction.good_count
- print("Total managed entries: %d (good: %d)" % (managed, good))
+ print(("Total managed entries: %d (good: %d)" % (managed, good)))
class Expire(_SingleHostCmd):
@@ -116,10 +116,10 @@ class Expire(_SingleHostCmd):
client = self.get_client(setup)
if client.expiration is None:
client.expiration = datetime.datetime.now()
- print("%s expired." % client.name)
+ print(("%s expired." % client.name))
else:
client.expiration = None
- print("%s un-expired." % client.name)
+ print(("%s un-expired." % client.name))
client.save()
@@ -168,7 +168,7 @@ class _ClientSelectCmd(Bcfg2.Options.Subcommand, _FlagsFilterMixin):
except AttributeError:
fdata.append(extra.get(field, "N/A"))
- print(fmt % tuple(fdata))
+ print((fmt % tuple(fdata)))
def display(self, setup, result, fields, extra=None):
if 'name' not in fields:
@@ -188,7 +188,7 @@ class _ClientSelectCmd(Bcfg2.Options.Subcommand, _FlagsFilterMixin):
else:
ffmt.append("%%-%ds" % len(field))
fmt = " ".join(ffmt)
- print(fmt % tuple(f.title() for f in fields))
+ print((fmt % tuple(f.title() for f in fields)))
for client in result:
if not client.expiration:
self._print_fields(setup, fields, client, fmt,
@@ -264,8 +264,8 @@ class Entries(_ClientSelectCmd):
entries = [l.strip().split(":") for l in setup.file]
except IOError:
err = sys.exc_info()[1]
- print("Cannot read entries from %s: %s" % (setup.file.name,
- err))
+ print(("Cannot read entries from %s: %s" % (setup.file.name,
+ err)))
return 2
else:
entries = [a.split(":") for a in setup.entries]
@@ -302,7 +302,7 @@ class Entry(_ClientSelectCmd):
try:
entry_cls = BaseEntry.entry_from_type(etype)
except ValueError:
- print("Unhandled/unknown type %s" % etype)
+ print(("Unhandled/unknown type %s" % etype))
return 2
# TODO: batch fetch this. sqlite could break
@@ -328,7 +328,7 @@ class CLI(Bcfg2.Options.CommandRegistry):
def __init__(self):
Bcfg2.Options.CommandRegistry.__init__(self)
- self.register_commands(globals().values())
+ self.register_commands(list(globals().values()))
parser = Bcfg2.Options.get_parser(
description="Query the Bcfg2 reporting subsystem",
components=[self])
diff --git a/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py b/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
index e0566a51b..54fbbcea6 100644
--- a/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
+++ b/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
@@ -392,7 +392,7 @@ class DjangoORM(StorageBase):
inter.modified_count = counter_fields[TYPE_MODIFIED]
inter.extra_count = counter_fields[TYPE_EXTRA]
inter.save()
- for entry_type in updates.keys():
+ for entry_type in list(updates.keys()):
# batch this for sqlite
i = 0
while(i < len(updates[entry_type])):
diff --git a/src/lib/Bcfg2/Reporting/Transport/RedisTransport.py b/src/lib/Bcfg2/Reporting/Transport/RedisTransport.py
index 7427c2e1d..0ea1b6355 100644
--- a/src/lib/Bcfg2/Reporting/Transport/RedisTransport.py
+++ b/src/lib/Bcfg2/Reporting/Transport/RedisTransport.py
@@ -124,8 +124,8 @@ class RedisTransport(TransportBase):
resp = pubsub.listen()
signal.signal(signal.SIGALRM, self.shutdown)
signal.alarm(10)
- resp.next() # clear subscribe message
- response = resp.next()
+ next(resp) # clear subscribe message
+ response = next(resp)
pubsub.unsubscribe()
try:
diff --git a/src/lib/Bcfg2/Reporting/migrations/0001_initial.py b/src/lib/Bcfg2/Reporting/migrations/0001_initial.py
index 6a52a8b2d..22d0e9862 100644
--- a/src/lib/Bcfg2/Reporting/migrations/0001_initial.py
+++ b/src/lib/Bcfg2/Reporting/migrations/0001_initial.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import models, migrations
diff --git a/src/lib/Bcfg2/Reporting/migrations/0002_convert_perms_to_mode.py b/src/lib/Bcfg2/Reporting/migrations/0002_convert_perms_to_mode.py
index 48bfd6412..4f08445d9 100644
--- a/src/lib/Bcfg2/Reporting/migrations/0002_convert_perms_to_mode.py
+++ b/src/lib/Bcfg2/Reporting/migrations/0002_convert_perms_to_mode.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import models, migrations
diff --git a/src/lib/Bcfg2/Reporting/migrations/0003_expand_hash_key.py b/src/lib/Bcfg2/Reporting/migrations/0003_expand_hash_key.py
index b9ae207dd..87d9ffc31 100644
--- a/src/lib/Bcfg2/Reporting/migrations/0003_expand_hash_key.py
+++ b/src/lib/Bcfg2/Reporting/migrations/0003_expand_hash_key.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import models, migrations
diff --git a/src/lib/Bcfg2/Reporting/migrations/0004_profile_can_be_null.py b/src/lib/Bcfg2/Reporting/migrations/0004_profile_can_be_null.py
index d0b2de417..5ff11037e 100644
--- a/src/lib/Bcfg2/Reporting/migrations/0004_profile_can_be_null.py
+++ b/src/lib/Bcfg2/Reporting/migrations/0004_profile_can_be_null.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import models, migrations
diff --git a/src/lib/Bcfg2/Reporting/migrations/0005_add_selinux_entry_support.py b/src/lib/Bcfg2/Reporting/migrations/0005_add_selinux_entry_support.py
index 0c6934b10..01b4055d7 100644
--- a/src/lib/Bcfg2/Reporting/migrations/0005_add_selinux_entry_support.py
+++ b/src/lib/Bcfg2/Reporting/migrations/0005_add_selinux_entry_support.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import models, migrations
diff --git a/src/lib/Bcfg2/Reporting/migrations/0006_add_user_group_entry_support.py b/src/lib/Bcfg2/Reporting/migrations/0006_add_user_group_entry_support.py
index 4853faaf3..31c9ec460 100644
--- a/src/lib/Bcfg2/Reporting/migrations/0006_add_user_group_entry_support.py
+++ b/src/lib/Bcfg2/Reporting/migrations/0006_add_user_group_entry_support.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import models, migrations
diff --git a/src/lib/Bcfg2/Reporting/migrations/0007_add_flag_fields_interaction.py b/src/lib/Bcfg2/Reporting/migrations/0007_add_flag_fields_interaction.py
index 1d1274288..cee34ea5d 100644
--- a/src/lib/Bcfg2/Reporting/migrations/0007_add_flag_fields_interaction.py
+++ b/src/lib/Bcfg2/Reporting/migrations/0007_add_flag_fields_interaction.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import models, migrations
diff --git a/src/lib/Bcfg2/Reporting/migrations/0008_add_ready_flag_interaction.py b/src/lib/Bcfg2/Reporting/migrations/0008_add_ready_flag_interaction.py
index 18ea6e8ba..381d80f30 100644
--- a/src/lib/Bcfg2/Reporting/migrations/0008_add_ready_flag_interaction.py
+++ b/src/lib/Bcfg2/Reporting/migrations/0008_add_ready_flag_interaction.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import models, migrations
diff --git a/src/lib/Bcfg2/Reporting/migrations/0009_add_conf_entry.py b/src/lib/Bcfg2/Reporting/migrations/0009_add_conf_entry.py
index 527a7bbe9..35a3827b3 100644
--- a/src/lib/Bcfg2/Reporting/migrations/0009_add_conf_entry.py
+++ b/src/lib/Bcfg2/Reporting/migrations/0009_add_conf_entry.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import migrations, models
diff --git a/src/lib/Bcfg2/Reporting/models.py b/src/lib/Bcfg2/Reporting/models.py
index 7bff0ab3b..afac6487e 100644
--- a/src/lib/Bcfg2/Reporting/models.py
+++ b/src/lib/Bcfg2/Reporting/models.py
@@ -7,7 +7,7 @@ try:
from django.db import models, connections
except ImproperlyConfigured:
e = sys.exc_info()[1]
- print("Reports: unable to import django models: %s" % e)
+ print(("Reports: unable to import django models: %s" % e))
sys.exit(1)
from django.core.cache import cache
diff --git a/src/lib/Bcfg2/Reporting/south_migrations/0009_add_conf_entry.py b/src/lib/Bcfg2/Reporting/south_migrations/0009_add_conf_entry.py
index cbbad4d59..357bc56e9 100644
--- a/src/lib/Bcfg2/Reporting/south_migrations/0009_add_conf_entry.py
+++ b/src/lib/Bcfg2/Reporting/south_migrations/0009_add_conf_entry.py
@@ -9,8 +9,8 @@ class Migration(SchemaMigration):
def forwards(self, orm):
# Adding model 'ConfEntry'
- db.create_table(u'Reporting_confentry', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ db.create_table('Reporting_confentry', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('name', self.gf('django.db.models.fields.CharField')(max_length=128, db_index=True)),
('hash_key', self.gf('django.db.models.fields.BigIntegerField')(db_index=True)),
('state', self.gf('django.db.models.fields.IntegerField')()),
@@ -18,186 +18,186 @@ class Migration(SchemaMigration):
('value', self.gf('django.db.models.fields.TextField')(null=True)),
('current_value', self.gf('django.db.models.fields.TextField')(null=True)),
))
- db.send_create_signal(u'Reporting', ['ConfEntry'])
+ db.send_create_signal('Reporting', ['ConfEntry'])
# Adding M2M table for field confs on 'Interaction'
- m2m_table_name = db.shorten_name(u'Reporting_interaction_confs')
+ m2m_table_name = db.shorten_name('Reporting_interaction_confs')
db.create_table(m2m_table_name, (
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
- ('interaction', models.ForeignKey(orm[u'Reporting.interaction'], null=False)),
- ('confentry', models.ForeignKey(orm[u'Reporting.confentry'], null=False))
+ ('interaction', models.ForeignKey(orm['Reporting.interaction'], null=False)),
+ ('confentry', models.ForeignKey(orm['Reporting.confentry'], null=False))
))
db.create_unique(m2m_table_name, ['interaction_id', 'confentry_id'])
def backwards(self, orm):
# Deleting model 'ConfEntry'
- db.delete_table(u'Reporting_confentry')
+ db.delete_table('Reporting_confentry')
# Removing M2M table for field confs on 'Interaction'
- db.delete_table(db.shorten_name(u'Reporting_interaction_confs'))
+ db.delete_table(db.shorten_name('Reporting_interaction_confs'))
models = {
- u'Reporting.actionentry': {
+ 'Reporting.actionentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'ActionEntry'},
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'output': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'state': ('django.db.models.fields.IntegerField', [], {}),
'status': ('django.db.models.fields.CharField', [], {'default': "'check'", 'max_length': '128'})
},
- u'Reporting.bundle': {
+ 'Reporting.bundle': {
'Meta': {'ordering': "('name',)", 'object_name': 'Bundle'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
},
- u'Reporting.client': {
+ 'Reporting.client': {
'Meta': {'object_name': 'Client'},
'creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'current_interaction': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parent_client'", 'null': 'True', 'to': u"orm['Reporting.Interaction']"}),
+ 'current_interaction': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parent_client'", 'null': 'True', 'to': "orm['Reporting.Interaction']"}),
'expiration': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128'})
},
- u'Reporting.confentry': {
+ 'Reporting.confentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'ConfEntry'},
'current_value': ('django.db.models.fields.TextField', [], {'null': 'True'}),
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'state': ('django.db.models.fields.IntegerField', [], {}),
'value': ('django.db.models.fields.TextField', [], {'null': 'True'})
},
- u'Reporting.deviceentry': {
- 'Meta': {'ordering': "('state', 'name')", 'object_name': 'DeviceEntry', '_ormbases': [u'Reporting.PathEntry']},
+ 'Reporting.deviceentry': {
+ 'Meta': {'ordering': "('state', 'name')", 'object_name': 'DeviceEntry', '_ormbases': ['Reporting.PathEntry']},
'current_major': ('django.db.models.fields.IntegerField', [], {}),
'current_minor': ('django.db.models.fields.IntegerField', [], {}),
'device_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
- u'pathentry_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['Reporting.PathEntry']", 'unique': 'True', 'primary_key': 'True'}),
+ 'pathentry_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['Reporting.PathEntry']", 'unique': 'True', 'primary_key': 'True'}),
'target_major': ('django.db.models.fields.IntegerField', [], {}),
'target_minor': ('django.db.models.fields.IntegerField', [], {})
},
- u'Reporting.failureentry': {
+ 'Reporting.failureentry': {
'Meta': {'object_name': 'FailureEntry'},
'entry_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'message': ('django.db.models.fields.TextField', [], {}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'})
},
- u'Reporting.fileacl': {
+ 'Reporting.fileacl': {
'Meta': {'object_name': 'FileAcl'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'})
},
- u'Reporting.fileperms': {
+ 'Reporting.fileperms': {
'Meta': {'unique_together': "(('owner', 'group', 'mode'),)", 'object_name': 'FilePerms'},
'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'mode': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'})
},
- u'Reporting.group': {
+ 'Reporting.group': {
'Meta': {'ordering': "('name',)", 'object_name': 'Group'},
- 'bundles': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.Bundle']", 'symmetrical': 'False'}),
+ 'bundles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.Bundle']", 'symmetrical': 'False'}),
'category': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'blank': 'True'}),
'comment': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.Group']", 'symmetrical': 'False'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.Group']", 'symmetrical': 'False'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
'profile': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
},
- u'Reporting.interaction': {
+ 'Reporting.interaction': {
'Meta': {'ordering': "['-timestamp']", 'unique_together': "(('client', 'timestamp'),)", 'object_name': 'Interaction'},
- 'actions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.ActionEntry']", 'symmetrical': 'False'}),
+ 'actions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.ActionEntry']", 'symmetrical': 'False'}),
'bad_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
- 'bundles': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.Bundle']", 'symmetrical': 'False'}),
- 'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'interactions'", 'to': u"orm['Reporting.Client']"}),
- 'confs': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.ConfEntry']", 'symmetrical': 'False'}),
+ 'bundles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.Bundle']", 'symmetrical': 'False'}),
+ 'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'interactions'", 'to': "orm['Reporting.Client']"}),
+ 'confs': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.ConfEntry']", 'symmetrical': 'False'}),
'dry_run': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'extra_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
- 'failures': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.FailureEntry']", 'symmetrical': 'False'}),
+ 'failures': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.FailureEntry']", 'symmetrical': 'False'}),
'good_count': ('django.db.models.fields.IntegerField', [], {}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.Group']", 'symmetrical': 'False'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.Group']", 'symmetrical': 'False'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'modified_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'only_important': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'packages': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.PackageEntry']", 'symmetrical': 'False'}),
- 'paths': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.PathEntry']", 'symmetrical': 'False'}),
- 'posixgroups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.POSIXGroupEntry']", 'symmetrical': 'False'}),
- 'posixusers': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.POSIXUserEntry']", 'symmetrical': 'False'}),
- 'profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': u"orm['Reporting.Group']"}),
+ 'packages': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.PackageEntry']", 'symmetrical': 'False'}),
+ 'paths': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.PathEntry']", 'symmetrical': 'False'}),
+ 'posixgroups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.POSIXGroupEntry']", 'symmetrical': 'False'}),
+ 'posixusers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.POSIXUserEntry']", 'symmetrical': 'False'}),
+ 'profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['Reporting.Group']"}),
'ready': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'repo_rev_code': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'sebooleans': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.SEBooleanEntry']", 'symmetrical': 'False'}),
- 'sefcontexts': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.SEFcontextEntry']", 'symmetrical': 'False'}),
- 'seinterfaces': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.SEInterfaceEntry']", 'symmetrical': 'False'}),
- 'selogins': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.SELoginEntry']", 'symmetrical': 'False'}),
- 'semodules': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.SEModuleEntry']", 'symmetrical': 'False'}),
- 'senodes': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.SENodeEntry']", 'symmetrical': 'False'}),
- 'sepermissives': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.SEPermissiveEntry']", 'symmetrical': 'False'}),
- 'seports': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.SEPortEntry']", 'symmetrical': 'False'}),
+ 'sebooleans': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.SEBooleanEntry']", 'symmetrical': 'False'}),
+ 'sefcontexts': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.SEFcontextEntry']", 'symmetrical': 'False'}),
+ 'seinterfaces': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.SEInterfaceEntry']", 'symmetrical': 'False'}),
+ 'selogins': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.SELoginEntry']", 'symmetrical': 'False'}),
+ 'semodules': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.SEModuleEntry']", 'symmetrical': 'False'}),
+ 'senodes': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.SENodeEntry']", 'symmetrical': 'False'}),
+ 'sepermissives': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.SEPermissiveEntry']", 'symmetrical': 'False'}),
+ 'seports': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.SEPortEntry']", 'symmetrical': 'False'}),
'server': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
- 'services': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.ServiceEntry']", 'symmetrical': 'False'}),
- 'seusers': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.SEUserEntry']", 'symmetrical': 'False'}),
+ 'services': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.ServiceEntry']", 'symmetrical': 'False'}),
+ 'seusers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.SEUserEntry']", 'symmetrical': 'False'}),
'state': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
'timestamp': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
'total_count': ('django.db.models.fields.IntegerField', [], {})
},
- u'Reporting.linkentry': {
- 'Meta': {'ordering': "('state', 'name')", 'object_name': 'LinkEntry', '_ormbases': [u'Reporting.PathEntry']},
+ 'Reporting.linkentry': {
+ 'Meta': {'ordering': "('state', 'name')", 'object_name': 'LinkEntry', '_ormbases': ['Reporting.PathEntry']},
'current_path': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'blank': 'True'}),
- u'pathentry_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['Reporting.PathEntry']", 'unique': 'True', 'primary_key': 'True'}),
+ 'pathentry_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['Reporting.PathEntry']", 'unique': 'True', 'primary_key': 'True'}),
'target_path': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'blank': 'True'})
},
- u'Reporting.packageentry': {
+ 'Reporting.packageentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'PackageEntry'},
'current_version': ('django.db.models.fields.CharField', [], {'max_length': '1024'}),
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'state': ('django.db.models.fields.IntegerField', [], {}),
'target_version': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '1024'}),
'verification_details': ('django.db.models.fields.TextField', [], {'default': "''"})
},
- u'Reporting.pathentry': {
+ 'Reporting.pathentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'PathEntry'},
- 'acls': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['Reporting.FileAcl']", 'symmetrical': 'False'}),
- 'current_perms': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['Reporting.FilePerms']"}),
+ 'acls': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['Reporting.FileAcl']", 'symmetrical': 'False'}),
+ 'current_perms': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['Reporting.FilePerms']"}),
'detail_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'details': ('django.db.models.fields.TextField', [], {'default': "''"}),
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'path_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'state': ('django.db.models.fields.IntegerField', [], {}),
- 'target_perms': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['Reporting.FilePerms']"})
+ 'target_perms': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['Reporting.FilePerms']"})
},
- u'Reporting.performance': {
+ 'Reporting.performance': {
'Meta': {'object_name': 'Performance'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'interaction': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'performance_items'", 'to': u"orm['Reporting.Interaction']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'interaction': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'performance_items'", 'to': "orm['Reporting.Interaction']"}),
'metric': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'value': ('django.db.models.fields.DecimalField', [], {'max_digits': '32', 'decimal_places': '16'})
},
- u'Reporting.posixgroupentry': {
+ 'Reporting.posixgroupentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'POSIXGroupEntry'},
'current_gid': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'gid': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'state': ('django.db.models.fields.IntegerField', [], {})
},
- u'Reporting.posixuserentry': {
+ 'Reporting.posixuserentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'POSIXUserEntry'},
'current_gecos': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True'}),
'current_group': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}),
@@ -209,108 +209,108 @@ class Migration(SchemaMigration):
'group': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
'home': ('django.db.models.fields.CharField', [], {'max_length': '1024'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'shell': ('django.db.models.fields.CharField', [], {'default': "'/bin/bash'", 'max_length': '1024'}),
'state': ('django.db.models.fields.IntegerField', [], {}),
'uid': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
},
- u'Reporting.sebooleanentry': {
+ 'Reporting.sebooleanentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'SEBooleanEntry'},
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'state': ('django.db.models.fields.IntegerField', [], {}),
'value': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
},
- u'Reporting.sefcontextentry': {
+ 'Reporting.sefcontextentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'SEFcontextEntry'},
'current_selinuxtype': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'filetype': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'selinuxtype': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'state': ('django.db.models.fields.IntegerField', [], {})
},
- u'Reporting.seinterfaceentry': {
+ 'Reporting.seinterfaceentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'SEInterfaceEntry'},
'current_selinuxtype': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'selinuxtype': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'state': ('django.db.models.fields.IntegerField', [], {})
},
- u'Reporting.seloginentry': {
+ 'Reporting.seloginentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'SELoginEntry'},
'current_selinuxuser': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'selinuxuser': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'state': ('django.db.models.fields.IntegerField', [], {})
},
- u'Reporting.semoduleentry': {
+ 'Reporting.semoduleentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'SEModuleEntry'},
'current_disabled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'disabled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'state': ('django.db.models.fields.IntegerField', [], {})
},
- u'Reporting.senodeentry': {
+ 'Reporting.senodeentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'SENodeEntry'},
'current_selinuxtype': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'proto': ('django.db.models.fields.CharField', [], {'max_length': '4'}),
'selinuxtype': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'state': ('django.db.models.fields.IntegerField', [], {})
},
- u'Reporting.sepermissiveentry': {
+ 'Reporting.sepermissiveentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'SEPermissiveEntry'},
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'state': ('django.db.models.fields.IntegerField', [], {})
},
- u'Reporting.seportentry': {
+ 'Reporting.seportentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'SEPortEntry'},
'current_selinuxtype': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'selinuxtype': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'state': ('django.db.models.fields.IntegerField', [], {})
},
- u'Reporting.serviceentry': {
+ 'Reporting.serviceentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'ServiceEntry'},
'current_status': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128'}),
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'state': ('django.db.models.fields.IntegerField', [], {}),
'target_status': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128'})
},
- u'Reporting.seuserentry': {
+ 'Reporting.seuserentry': {
'Meta': {'ordering': "('state', 'name')", 'object_name': 'SEUserEntry'},
'current_prefix': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
'current_roles': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
'exists': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'hash_key': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
'prefix': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'roles': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
diff --git a/src/lib/Bcfg2/Reporting/utils.py b/src/lib/Bcfg2/Reporting/utils.py
index 694f38824..4165477ab 100755
--- a/src/lib/Bcfg2/Reporting/utils.py
+++ b/src/lib/Bcfg2/Reporting/utils.py
@@ -19,7 +19,7 @@ class BatchFetch(object):
def __iter__(self):
return self
- def next(self):
+ def __next__(self):
"""Provide compatibility with python < 3.0"""
return self.__next__()
diff --git a/src/lib/Bcfg2/Reporting/views.py b/src/lib/Bcfg2/Reporting/views.py
index 3b9e2e53b..cef0958d9 100644
--- a/src/lib/Bcfg2/Reporting/views.py
+++ b/src/lib/Bcfg2/Reporting/views.py
@@ -329,7 +329,7 @@ def client_detail(request, hostname=None, pk=None):
TYPE_MODIFIED: 'modified',
TYPE_EXTRA: 'extra'}
edict = dict()
- for label in etypes.values():
+ for label in list(etypes.values()):
edict[label] = []
for ekind in inter.entry_types:
if ekind == 'failures':