from email.parser import Parser
-from models import QueuedMail
+from .models import QueuedMail
class QueuedMailAdmin(admin.ModelAdmin):
model = QueuedMail
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import migrations, models
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.nonmultipart import MIMENonMultipart
-from email.Utils import formatdate, formataddr
+from email.utils import formatdate, formataddr
from email.header import Header
from email import encoders
-from models import QueuedMail
+from .models import QueuedMail
def _encoded_email_header(name, email):
if name:
from hamnadmin.util.html import TruncateAndClean
-from models import Post
+from .models import Post
class PostFeed(Feed):
title = 'Planet PostgreSQL'
from django.core.validators import MinLengthValidator
from django.conf import settings
-from models import Blog
+from .models import Blog
from hamnadmin.util.aggregate import FeedFetcher, ParserGotRedirect
-import urllib
+import urllib.request, urllib.parse, urllib.error
import requests
import requests_oauthlib
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import migrations, models
import datetime
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import migrations, models
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import migrations, models
from django.conf import settings
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import migrations, models
# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
from django.db import migrations, models
from django.conf import settings
import datetime
import feedparser
-from forms import BlogEditForm, ModerateRejectForm
+from .forms import BlogEditForm, ModerateRejectForm
# Public planet
def planet_home(request):
# Dynamically load settings from the "outer" planet.ini that might
# be needed.
try:
- import ConfigParser
- _configparser = ConfigParser.ConfigParser()
+ import configparser
+ _configparser = configparser.ConfigParser()
_configparser.read(os.path.join(os.path.abspath(os.path.dirname(__file__)), '../../planet.ini'))
TWITTER_CLIENT=_configparser.get('twitter', 'consumer')
TWITTER_CLIENTSECRET=_configparser.get('twitter', 'consumersecret')
# If there is a local_settings.py, let it override our settings
try:
- from local_settings import *
+ from .local_settings import *
except:
pass
-#!/usr/bin/env python
+#!/usr/bin/env python3
import datetime
import socket
-from HTMLParser import HTMLParser
+from html.parser import HTMLParser
import tidy
-import urllib
+import urllib.parse
_tidyopts = dict( drop_proprietary_attributes=1,
alt_text='',
if len(p) < 2:
# Don't crash on invalid URLs
return ""
- return p[0] + ":" + urllib.quote(p[1])
+ return p[0] + ":" + urllib.parse.quote(p[1])
def cleanhref(self, attrs):
if attrs[0] == 'href':
from django.conf import settings
-import urllib2
+import urllib.request, urllib.error, urllib.parse
def purge_url(url):
if not settings.VARNISH_URL:
-#!/usr/bin/env python
+#!/usr/bin/env python3
import os
import sys
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""Planet PostgreSQL - list synchronizer
This file contains the functions to synchronize the list of subscribers
to planet with those of a pglister mailinglist.
-Copyright (C) 2008-2017PostgreSQL Global Development Group
+Copyright (C) 2008-2017 PostgreSQL Global Development Group
"""
import sys
-import ConfigParser
+import configparser
import psycopg2
import requests
if __name__=="__main__":
- c = ConfigParser.ConfigParser()
+ c = configparser.ConfigParser()
c.read('planet.ini')
conn = psycopg2.connect(c.get('planet', 'db'))
-#!/usr/bin/env python
+#!/usr/bin/env python3
# vim: ai ts=4 sts=4 sw=4
"""PostgreSQL Planet Aggregator
import psycopg2
import psycopg2.extensions
-import urllib
import simplejson as json
-import ConfigParser
+import configparser
from twitterclient import TwitterClient
if __name__=="__main__":
- c = ConfigParser.ConfigParser()
+ c = configparser.ConfigParser()
c.read('planet.ini')
PostToTwitter(c).Run()
-#!/usr/bin/env python
+#!/usr/bin/env python3
# vim: ai ts=4 sts=4 sw=4
"""PostgreSQL Planet Aggregator
import sys
import cgi
-import ConfigParser
+import configparser
import requests_oauthlib
-cfg = ConfigParser.ConfigParser()
+cfg = configparser.ConfigParser()
cfg.read('planet.ini')
if not cfg.has_option('twitter', 'consumer') or not cfg.has_option('twitter', 'consumersecret'):
-#!/usr/bin/env python
+#!/usr/bin/env python3
# vim: ai ts=4 sts=4 sw=4
"""PostgreSQL Planet Aggregator
import psycopg2
import psycopg2.extensions
-import ConfigParser
+import configparser
from twitterclient import TwitterClient
class SyncTwitter(TwitterClient):
if __name__=="__main__":
- c = ConfigParser.ConfigParser()
+ c = configparser.ConfigParser()
c.read('planet.ini')
SyncTwitter(c).Run()
-#!/usr/bin/env python
+#!/usr/bin/env python3
# vim: ai ts=4 sts=4 sw=4
"""PostgreSQL Planet Aggregator