""" Information about known Infocalypse repositories.
Copyright (C) 2009 Darrell Karbott
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2.0 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Author: djk@isFiaD04zgAgnrEC5XJt1i4IE7AkNPqhBG5bONi6Yks
If you maintain a repository that doesn't contain illicit content
let me know and I'll add it.
"""
from fcpclient import get_usk_hash
# Not sure about this. Flat text file instead?
KNOWN_REPOS = (
('djk@isFiaD04zgAgnrEC5XJt1i4IE7AkNPqhBG5bONi6Yks',
'USK@kRM~jJVREwnN2qnA8R0Vt8HmpfRzBZ0j4rHC2cQ-0hw,'
+ '2xcoQVdQLyqfTpF2DpkdUIbHFCeL4W~2X1phUYymnhM,AQACAAE/'
+ 'infocalypse.hgext.R1/28'), # This code.
('djk@isFiaD04zgAgnrEC5XJt1i4IE7AkNPqhBG5bONi6Yks',
'USK@kRM~jJVREwnN2qnA8R0Vt8HmpfRzBZ0j4rHC2cQ-0hw,'
+ '2xcoQVdQLyqfTpF2DpkdUIbHFCeL4W~2X1phUYymnhM,AQACAAE/'
+ 'fred_staging.R1/17'), # Expiremental git->hg mirror
)
def build_trust_list(id_usk_list):
""" INTERNAL: Compile the default trust map from a list of
(trusted_fms_id, USK) tuples. """
table = {}
for fms_id, usk in id_usk_list:
hashes = table.get(fms_id, [])
usk_hash = get_usk_hash(usk)
if not usk_hash in hashes:
hashes.append(usk_hash)
table[fms_id] = hashes
for fms_id in table.keys()[:]:
table[fms_id] = tuple(table[fms_id])
return table
# fms_id -> (usk_hash0, ..., usk_hashn) map
DEFAULT_TRUST = build_trust_list(KNOWN_REPOS)
DEFAULT_GROUPS = ('infocalypse.notify', )
DEFAULT_NOTIFICATION_GROUP = 'infocalypse.notify'