diff --git a/.gitignore b/.gitignore
index 8199c86..bec1892 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
build
dist
-.DS_Store
\ No newline at end of file
+.DS_Store
+FeedTheMonkey.app
diff --git a/FeedTheMonkey.app/Contents/Frameworks/FeedTheMonkey b/FeedTheMonkey.app/Contents/Frameworks/FeedTheMonkey
deleted file mode 100755
index 745e0c9..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/FeedTheMonkey
+++ /dev/null
@@ -1,537 +0,0 @@
-#!/usr/bin/env python2
-
-import sys, os, json, tempfile, urllib2, urllib, json
-from PyQt4 import QtGui, QtCore, QtWebKit, QtNetwork
-from threading import Thread
-from sys import platform as _platform
-
-settings = QtCore.QSettings("jabs.nu", "feedthemonkey")
-
-class MainWindow(QtGui.QMainWindow):
- def __init__(self):
- QtGui.QMainWindow.__init__(self)
- self.setWindowIcon(QtGui.QIcon("feedmonkey"))
- self.addAction(QtGui.QAction("Full Screen", self, checkable=True, toggled=lambda v: self.showFullScreen() if v else self.showNormal(), shortcut="F11"))
- self.history = self.get("history", [])
- self.restoreGeometry(QtCore.QByteArray.fromRawData(settings.value("geometry").toByteArray()))
- self.restoreState(QtCore.QByteArray.fromRawData(settings.value("state").toByteArray()))
-
- self.initUI()
-
- session_id = self.get("session_id")
- server_url = self.get("server_url")
-
- if not (session_id and server_url):
- self.authenticate()
- else:
- self.initApp()
-
-
- def initUI(self):
- self.list = List(self)
- self.content = Content(self)
-
- self.splitter = QtGui.QSplitter(QtCore.Qt.Vertical, self)
- self.splitter.setHandleWidth(1)
- self.splitter.addWidget(self.list)
- self.splitter.addWidget(self.content)
- self.splitter.restoreState(settings.value("splitterSizes").toByteArray());
- self.splitter.splitterMoved.connect(self.splitterMoved)
-
- self.setCentralWidget(self.splitter)
-
- def mkAction(name, connect, shortcut=None):
- action = QtGui.QAction(name, self)
- action.triggered.connect(connect)
- if shortcut:
- action.setShortcut(shortcut)
- return action
-
- mb = self.menuBar()
-
- fileMenu = mb.addMenu("&File")
- fileMenu.addAction(mkAction("&Close", self.close, "Ctrl+W"))
- fileMenu.addAction(mkAction("&Log Out", self.logOut))
- fileMenu.addSeparator()
- fileMenu.addAction(mkAction("&Exit", self.close, "Ctrl+Q"))
-
- actionMenu = mb.addMenu("&Action")
- actionMenu.addAction(mkAction("&Reload", self.content.reload, "R"))
- actionMenu.addAction(mkAction("Set &Unread", self.content.setUnread, "U"))
- actionMenu.addAction(mkAction("&Next", self.content.showNext, "J"))
- actionMenu.addAction(mkAction("&Previous", self.content.showPrevious, "K"))
- actionMenu.addAction(mkAction("&Open in Browser", self.content.openCurrent, "N"))
-
- viewMenu = mb.addMenu("&View")
- viewMenu.addAction(mkAction("Zoom &In", lambda: self.content.wb.setZoomFactor(self.content.wb.zoomFactor() + 0.2), "Ctrl++"))
- viewMenu.addAction(mkAction("Zoom &Out", lambda: self.content.wb.setZoomFactor(self.content.wb.zoomFactor() - 0.2), "Ctrl+-"))
- viewMenu.addAction(mkAction("&Reset", lambda: self.content.wb.setZoomFactor(1), "Ctrl+0"))
-
- windowMenu = mb.addMenu("&Window")
- windowMenu.addAction(mkAction("Default", self.resetSplitter, "Ctrl+D"))
-
- helpMenu = mb.addMenu("&Help")
- helpMenu.addAction(mkAction("&About", lambda: QtGui.QDesktopServices.openUrl(QtCore.QUrl("http://jabs.nu/feedthemonkey", QtCore.QUrl.TolerantMode)) ))
-
- def initApp(self):
- session_id = self.get("session_id")
- server_url = self.get("server_url")
- self.tinyTinyRSS = TinyTinyRSS(self, server_url, session_id)
-
- self.content.evaluateJavaScript("setArticle('loading')")
- self.content.reload()
- self.show()
-
- def closeEvent(self, ev):
- settings.setValue("geometry", self.saveGeometry())
- settings.setValue("state", self.saveState())
- return QtGui.QMainWindow.closeEvent(self, ev)
-
- def put(self, key, value):
- "Persist an object somewhere under a given key"
- settings.setValue(key, json.dumps(value))
- settings.sync()
-
- def get(self, key, default=None):
- "Get the object stored under 'key' in persistent storage, or the default value"
- v = settings.value(key)
- return json.loads(unicode(v.toString())) if v.isValid() else default
-
- def setWindowTitle(self, t):
- super(QtGui.QMainWindow, self).setWindowTitle("Feed the Monkey" + t)
-
- def splitterMoved(self, pos, index):
- settings.setValue("splitterSizes", self.splitter.saveState());
-
- def resetSplitter(self):
- sizes = self.splitter.sizes()
- top = sizes[0]
- bottom = sizes[1]
- sizes[0] = 200
- sizes[1] = bottom + top - 200
- self.splitter.setSizes(sizes)
-
- def authenticate(self):
-
- dialog = Login()
-
- def callback():
-
- server_url = str(dialog.textServerUrl.text())
- user = str(dialog.textName.text())
- password = str(dialog.textPass.text())
-
- session_id = TinyTinyRSS.login(server_url, user, password)
- if session_id:
- self.put("session_id", session_id)
- self.put("server_url", server_url)
- self.initApp()
- else:
- self.authenticate()
-
- dialog.accepted.connect(callback)
-
- dialog.exec_()
-
- def logOut(self):
- self.hide()
- self.content.evaluateJavaScript("setArticle('logout')")
- self.tinyTinyRSS.logOut()
- self.tinyTinyRSS = None
- self.put("session_id", None)
- self.put("server_url", None)
- self.authenticate()
-
-class List(QtGui.QTableWidget):
- def __init__(self, container):
- QtGui.QTableWidget.__init__(self)
- self.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
- self.app = container
- self.itemSelectionChanged.connect(self.rowSelected)
- self.setShowGrid(False)
-
- def initHeader(self):
- self.clear()
- self.setColumnCount(3)
- self.setHorizontalHeaderLabels(("Feed", "Title", "Date"))
- self.horizontalHeader().setResizeMode(0, QtGui.QHeaderView.ResizeToContents)
- self.horizontalHeader().setResizeMode(1, QtGui.QHeaderView.Stretch)
- self.horizontalHeader().setResizeMode(2, QtGui.QHeaderView.ResizeToContents)
- self.verticalHeader().hide()
-
- def setItems(self, articles):
- self.initHeader()
- self.setRowCount(len(articles))
- row = 0
- for article in articles:
- if "feed_title" in article:
- feed_title = QtGui.QTableWidgetItem(article["feed_title"])
- feed_title.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
- self.setItem(row, 0, feed_title)
- if "title" in article:
- title = QtGui.QTableWidgetItem(article["title"])
- title.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
- self.setItem(row, 1, title)
- if "updated" in article:
- date = QtCore.QDateTime.fromTime_t(article["updated"]).toString(QtCore.Qt.SystemLocaleShortDate)
- d = QtGui.QTableWidgetItem(date)
- d.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
- self.setItem(row, 2, d)
- if "author" in article:
- author = QtGui.QTableWidgetItem(article["author"])
- author.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
- self.setItem(row, 3, author)
- self.resizeRowToContents(row)
- row += 1
- self.selectRow(0)
-
- def rowSelected(self):
- indexes = self.selectedIndexes()
- if len(indexes) > 0:
- row = indexes[0].row()
- self.app.content.showIndex(row)
-
- def updateRead(self):
- for row, article in enumerate(self.app.content.unread_articles):
- for x in xrange(0,3):
- item = self.item(row, x)
- font = item.font()
- font.setBold(article["unread"])
- item.setFont(font)
-
-
-class Content(QtGui.QWidget):
- def __init__(self, container):
- QtGui.QWidget.__init__(self)
-
- self.app = container
- self.index = 0
-
- self.wb = QtWebKit.QWebView(titleChanged=lambda t: container.setWindowTitle(t))
- self.wb.page().setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks)
- self.wb.linkClicked.connect(lambda url: self.openLink(url))
-
- self.setLayout(QtGui.QVBoxLayout(spacing=0))
- self.layout().setContentsMargins(0, 0, 0, 0)
- self.layout().addWidget(self.wb)
-
- self.do_show_next = QtGui.QShortcut(QtCore.Qt.Key_Right, self, activated=self.showNext)
- self.do_show_previous = QtGui.QShortcut(QtCore.Qt.Key_Left, self, activated=self.showPrevious)
- self.do_open = QtGui.QShortcut("Return", self, activated=self.openCurrent)
-
- self.wb.settings().setAttribute(QtWebKit.QWebSettings.PluginsEnabled, True)
- self.wb.settings().setIconDatabasePath(tempfile.mkdtemp())
- self.wb.setHtml(self.templateString())
-
- self.unread_articles = []
-
- def openLink(self, url):
- QtGui.QDesktopServices.openUrl(url)
-
- def reload(self):
- w = WorkerThread(self.app, self._reload)
- self.connect(w, QtCore.SIGNAL("reload_done()"), self.reload_done)
- w.start()
-
- def setUnread(self):
- article = self.unread_articles[self.index]
- article["unread"] = True
- article["set_unread"] = True
- self.app.list.updateRead()
-
- def _reload(self):
- self.unread_articles = self.app.tinyTinyRSS.getUnreadFeeds()
- self.index = -1
-
- def reload_done(self):
- self.setUnreadCount()
- if len(self.unread_articles) > 0:
- self.showNext()
- self.app.list.setItems(self.unread_articles)
-
- def showIndex(self, index):
- previous = self.unread_articles[self.index]
- if not "set_unread" in previous or not previous["set_unread"]:
- self.app.tinyTinyRSS.setArticleRead(previous["id"])
- previous["unread"] = False
- self.app.list.updateRead()
- else:
- previous["set_unread"] = False
- self.index = index
- current = self.unread_articles[self.index]
- self.setArticle(current)
- self.setUnreadCount()
-
- def showNext(self):
- if self.index >= 0 and self.index < len(self.unread_articles):
- previous = self.unread_articles[self.index]
- if not "set_unread" in previous or not previous["set_unread"]:
- self.app.tinyTinyRSS.setArticleRead(previous["id"])
- previous["unread"] = False
- self.app.list.updateRead()
- else:
- previous["set_unread"] = False
-
- if len(self.unread_articles) > self.index + 1:
- self.index += 1
- current = self.unread_articles[self.index]
- self.setArticle(current)
- else:
- if self.index < len(self.unread_articles):
- self.index += 1
-
- self.setUnreadCount()
- self.app.list.selectRow(self.index)
-
- def showPrevious(self):
- if self.index > 0:
- self.index -= 1
- previous = self.unread_articles[self.index]
- self.setArticle(previous)
- self.setUnreadCount()
- self.app.list.selectRow(self.index)
-
- def openCurrent(self):
- current = self.unread_articles[self.index]
- url = QtCore.QUrl(current["link"])
- self.openLink(url)
-
- def setArticle(self, article):
- func = u"setArticle({});".format(json.dumps(article))
- self.evaluateJavaScript(func)
-
- def evaluateJavaScript(self, func):
- return self.wb.page().mainFrame().evaluateJavaScript(func)
-
- def setUnreadCount(self):
- length = len(self.unread_articles)
- i = 0
- if self.index > 0:
- i = self.index
- unread = length - i
-
- self.app.setWindowTitle(" (" + str(unread) + "/" + str(length) + ")")
- if unread < 1:
- self.evaluateJavaScript("setArticle('empty')")
-
- def templateString(self):
- html="""
-
-
-
-
- ttrssl
-
-
-
-
-
-
-
- """
- return html # string.replace(html, "
-
-
-
- CFBundleDevelopmentRegion
- English
- CFBundleExecutable
- Python
- CFBundleGetInfoString
- Python Runtime and Library
- CFBundleIdentifier
- org.python.python
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- Python
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 2.7.5, (c) 2004-2013 Python Software Foundation.
- CFBundleLongVersionString
- 2.7.5, (c) 2004-2013 Python Software Foundation.
- CFBundleSignature
- ????
- CFBundleVersion
- 2.7.5
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/Python.framework/Versions/2.7/include/python2.7/pyconfig.h b/FeedTheMonkey.app/Contents/Frameworks/Python.framework/Versions/2.7/include/python2.7/pyconfig.h
deleted file mode 100644
index 07e2197..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/Python.framework/Versions/2.7/include/python2.7/pyconfig.h
+++ /dev/null
@@ -1,1267 +0,0 @@
-/* pyconfig.h. Generated from pyconfig.h.in by configure. */
-/* pyconfig.h.in. Generated from configure.ac by autoheader. */
-
-
-#ifndef Py_PYCONFIG_H
-#define Py_PYCONFIG_H
-
-
-/* Define if building universal (internal helper macro) */
-/* #undef AC_APPLE_UNIVERSAL_BUILD */
-
-/* Define for AIX if your compiler is a genuine IBM xlC/xlC_r and you want
- support for AIX C++ shared extension modules. */
-/* #undef AIX_GENUINE_CPLUSPLUS */
-
-/* Define this if you have AtheOS threads. */
-/* #undef ATHEOS_THREADS */
-
-/* Define this if you have BeOS threads. */
-/* #undef BEOS_THREADS */
-
-/* Define if you have the Mach cthreads package */
-/* #undef C_THREADS */
-
-/* Define if C doubles are 64-bit IEEE 754 binary format, stored in ARM
- mixed-endian order (byte order 45670123) */
-/* #undef DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 */
-
-/* Define if C doubles are 64-bit IEEE 754 binary format, stored with the most
- significant byte first */
-/* #undef DOUBLE_IS_BIG_ENDIAN_IEEE754 */
-
-/* Define if C doubles are 64-bit IEEE 754 binary format, stored with the
- least significant byte first */
-#define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 1
-
-/* Define if --enable-ipv6 is specified */
-#define ENABLE_IPV6 1
-
-/* Define if flock needs to be linked with bsd library. */
-/* #undef FLOCK_NEEDS_LIBBSD */
-
-/* Define if getpgrp() must be called as getpgrp(0). */
-/* #undef GETPGRP_HAVE_ARG */
-
-/* Define if gettimeofday() does not have second (timezone) argument This is
- the case on Motorola V4 (R40V4.2) */
-/* #undef GETTIMEOFDAY_NO_TZ */
-
-/* Define to 1 if you have the `acosh' function. */
-#define HAVE_ACOSH 1
-
-/* struct addrinfo (netdb.h) */
-#define HAVE_ADDRINFO 1
-
-/* Define to 1 if you have the `alarm' function. */
-#define HAVE_ALARM 1
-
-/* Define this if your time.h defines altzone. */
-/* #undef HAVE_ALTZONE */
-
-/* Define to 1 if you have the `asinh' function. */
-#define HAVE_ASINH 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_ASM_TYPES_H */
-
-/* Define to 1 if you have the `atanh' function. */
-#define HAVE_ATANH 1
-
-/* Define if GCC supports __attribute__((format(PyArg_ParseTuple, 2, 3))) */
-/* #undef HAVE_ATTRIBUTE_FORMAT_PARSETUPLE */
-
-/* Define to 1 if you have the `bind_textdomain_codeset' function. */
-/* #undef HAVE_BIND_TEXTDOMAIN_CODESET */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_BLUETOOTH_BLUETOOTH_H */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_BLUETOOTH_H */
-
-/* Define if nice() returns success/failure instead of the new priority. */
-/* #undef HAVE_BROKEN_NICE */
-
-/* Define if the system reports an invalid PIPE_BUF value. */
-/* #undef HAVE_BROKEN_PIPE_BUF */
-
-/* Define if poll() sets errno on invalid file descriptors. */
-/* #undef HAVE_BROKEN_POLL */
-
-/* Define if the Posix semaphores do not work on your system */
-/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */
-
-/* Define if pthread_sigmask() does not work on your system. */
-/* #undef HAVE_BROKEN_PTHREAD_SIGMASK */
-
-/* define to 1 if your sem_getvalue is broken. */
-#define HAVE_BROKEN_SEM_GETVALUE 1
-
-/* Define if `unsetenv` does not return an int. */
-/* #undef HAVE_BROKEN_UNSETENV */
-
-/* Define this if you have the type _Bool. */
-#define HAVE_C99_BOOL 1
-
-/* Define to 1 if you have the 'chflags' function. */
-#define HAVE_CHFLAGS 1
-
-/* Define to 1 if you have the `chown' function. */
-#define HAVE_CHOWN 1
-
-/* Define if you have the 'chroot' function. */
-#define HAVE_CHROOT 1
-
-/* Define to 1 if you have the `clock' function. */
-#define HAVE_CLOCK 1
-
-/* Define to 1 if you have the `confstr' function. */
-#define HAVE_CONFSTR 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_CONIO_H */
-
-/* Define to 1 if you have the `copysign' function. */
-#define HAVE_COPYSIGN 1
-
-/* Define to 1 if you have the `ctermid' function. */
-#define HAVE_CTERMID 1
-
-/* Define if you have the 'ctermid_r' function. */
-#define HAVE_CTERMID_R 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_CURSES_H 1
-
-/* Define if you have the 'is_term_resized' function. */
-#define HAVE_CURSES_IS_TERM_RESIZED 1
-
-/* Define if you have the 'resizeterm' function. */
-#define HAVE_CURSES_RESIZETERM 1
-
-/* Define if you have the 'resize_term' function. */
-#define HAVE_CURSES_RESIZE_TERM 1
-
-/* Define to 1 if you have the declaration of `isfinite', and to 0 if you
- don't. */
-#define HAVE_DECL_ISFINITE 1
-
-/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't.
- */
-#define HAVE_DECL_ISINF 1
-
-/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't.
- */
-#define HAVE_DECL_ISNAN 1
-
-/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
- */
-/* #undef HAVE_DECL_TZNAME */
-
-/* Define to 1 if you have the device macros. */
-#define HAVE_DEVICE_MACROS 1
-
-/* Define to 1 if you have the /dev/ptc device file. */
-/* #undef HAVE_DEV_PTC */
-
-/* Define to 1 if you have the /dev/ptmx device file. */
-#define HAVE_DEV_PTMX 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_DIRECT_H */
-
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-#define HAVE_DIRENT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_DLFCN_H 1
-
-/* Define to 1 if you have the `dlopen' function. */
-#define HAVE_DLOPEN 1
-
-/* Define to 1 if you have the `dup2' function. */
-#define HAVE_DUP2 1
-
-/* Defined when any dynamic module loading is enabled. */
-#define HAVE_DYNAMIC_LOADING 1
-
-/* Define if you have the 'epoll' functions. */
-/* #undef HAVE_EPOLL */
-
-/* Define to 1 if you have the `erf' function. */
-#define HAVE_ERF 1
-
-/* Define to 1 if you have the `erfc' function. */
-#define HAVE_ERFC 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_ERRNO_H 1
-
-/* Define to 1 if you have the `execv' function. */
-#define HAVE_EXECV 1
-
-/* Define to 1 if you have the `expm1' function. */
-#define HAVE_EXPM1 1
-
-/* Define if you have the 'fchdir' function. */
-#define HAVE_FCHDIR 1
-
-/* Define to 1 if you have the `fchmod' function. */
-#define HAVE_FCHMOD 1
-
-/* Define to 1 if you have the `fchown' function. */
-#define HAVE_FCHOWN 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define if you have the 'fdatasync' function. */
-/* #undef HAVE_FDATASYNC */
-
-/* Define to 1 if you have the `finite' function. */
-#define HAVE_FINITE 1
-
-/* Define to 1 if you have the `flock' function. */
-#define HAVE_FLOCK 1
-
-/* Define to 1 if you have the `fork' function. */
-#define HAVE_FORK 1
-
-/* Define to 1 if you have the `forkpty' function. */
-#define HAVE_FORKPTY 1
-
-/* Define to 1 if you have the `fpathconf' function. */
-#define HAVE_FPATHCONF 1
-
-/* Define to 1 if you have the `fseek64' function. */
-/* #undef HAVE_FSEEK64 */
-
-/* Define to 1 if you have the `fseeko' function. */
-#define HAVE_FSEEKO 1
-
-/* Define to 1 if you have the `fstatvfs' function. */
-#define HAVE_FSTATVFS 1
-
-/* Define if you have the 'fsync' function. */
-#define HAVE_FSYNC 1
-
-/* Define to 1 if you have the `ftell64' function. */
-/* #undef HAVE_FTELL64 */
-
-/* Define to 1 if you have the `ftello' function. */
-#define HAVE_FTELLO 1
-
-/* Define to 1 if you have the `ftime' function. */
-#define HAVE_FTIME 1
-
-/* Define to 1 if you have the `ftruncate' function. */
-#define HAVE_FTRUNCATE 1
-
-/* Define to 1 if you have the `gai_strerror' function. */
-#define HAVE_GAI_STRERROR 1
-
-/* Define to 1 if you have the `gamma' function. */
-#define HAVE_GAMMA 1
-
-/* Define if we can use gcc inline assembler to get and set x87 control word
- */
-#define HAVE_GCC_ASM_FOR_X87 1
-
-/* Define if you have the getaddrinfo function. */
-#define HAVE_GETADDRINFO 1
-
-/* Define to 1 if you have the `getcwd' function. */
-#define HAVE_GETCWD 1
-
-/* Define this if you have flockfile(), getc_unlocked(), and funlockfile() */
-#define HAVE_GETC_UNLOCKED 1
-
-/* Define to 1 if you have the `getgroups' function. */
-#define HAVE_GETGROUPS 1
-
-/* Define to 1 if you have the `gethostbyname' function. */
-#define HAVE_GETHOSTBYNAME 1
-
-/* Define this if you have some version of gethostbyname_r() */
-/* #undef HAVE_GETHOSTBYNAME_R */
-
-/* Define this if you have the 3-arg version of gethostbyname_r(). */
-/* #undef HAVE_GETHOSTBYNAME_R_3_ARG */
-
-/* Define this if you have the 5-arg version of gethostbyname_r(). */
-/* #undef HAVE_GETHOSTBYNAME_R_5_ARG */
-
-/* Define this if you have the 6-arg version of gethostbyname_r(). */
-/* #undef HAVE_GETHOSTBYNAME_R_6_ARG */
-
-/* Define to 1 if you have the `getitimer' function. */
-#define HAVE_GETITIMER 1
-
-/* Define to 1 if you have the `getloadavg' function. */
-#define HAVE_GETLOADAVG 1
-
-/* Define to 1 if you have the `getlogin' function. */
-#define HAVE_GETLOGIN 1
-
-/* Define to 1 if you have the `getnameinfo' function. */
-#define HAVE_GETNAMEINFO 1
-
-/* Define if you have the 'getpagesize' function. */
-#define HAVE_GETPAGESIZE 1
-
-/* Define to 1 if you have the `getpeername' function. */
-#define HAVE_GETPEERNAME 1
-
-/* Define to 1 if you have the `getpgid' function. */
-#define HAVE_GETPGID 1
-
-/* Define to 1 if you have the `getpgrp' function. */
-#define HAVE_GETPGRP 1
-
-/* Define to 1 if you have the `getpid' function. */
-#define HAVE_GETPID 1
-
-/* Define to 1 if you have the `getpriority' function. */
-#define HAVE_GETPRIORITY 1
-
-/* Define to 1 if you have the `getpwent' function. */
-#define HAVE_GETPWENT 1
-
-/* Define to 1 if you have the `getresgid' function. */
-/* #undef HAVE_GETRESGID */
-
-/* Define to 1 if you have the `getresuid' function. */
-/* #undef HAVE_GETRESUID */
-
-/* Define to 1 if you have the `getsid' function. */
-#define HAVE_GETSID 1
-
-/* Define to 1 if you have the `getspent' function. */
-/* #undef HAVE_GETSPENT */
-
-/* Define to 1 if you have the `getspnam' function. */
-/* #undef HAVE_GETSPNAM */
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#define HAVE_GETTIMEOFDAY 1
-
-/* Define to 1 if you have the `getwd' function. */
-#define HAVE_GETWD 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_GRP_H 1
-
-/* Define if you have the 'hstrerror' function. */
-#define HAVE_HSTRERROR 1
-
-/* Define to 1 if you have the `hypot' function. */
-#define HAVE_HYPOT 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_IEEEFP_H */
-
-/* Define if you have the 'inet_aton' function. */
-#define HAVE_INET_ATON 1
-
-/* Define if you have the 'inet_pton' function. */
-#define HAVE_INET_PTON 1
-
-/* Define to 1 if you have the `initgroups' function. */
-#define HAVE_INITGROUPS 1
-
-/* Define if your compiler provides int32_t. */
-#define HAVE_INT32_T 1
-
-/* Define if your compiler provides int64_t. */
-#define HAVE_INT64_T 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_IO_H */
-
-/* Define to 1 if you have the `kill' function. */
-#define HAVE_KILL 1
-
-/* Define to 1 if you have the `killpg' function. */
-#define HAVE_KILLPG 1
-
-/* Define if you have the 'kqueue' functions. */
-#define HAVE_KQUEUE 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_LANGINFO_H 1
-
-/* Defined to enable large file support when an off_t is bigger than a long
- and long long is available and at least as big as an off_t. You may need to
- add some flags for configuration and compilation to enable this mode. (For
- Solaris and Linux, the necessary defines are already defined.) */
-/* #undef HAVE_LARGEFILE_SUPPORT */
-
-/* Define to 1 if you have the 'lchflags' function. */
-#define HAVE_LCHFLAGS 1
-
-/* Define to 1 if you have the `lchmod' function. */
-#define HAVE_LCHMOD 1
-
-/* Define to 1 if you have the `lchown' function. */
-#define HAVE_LCHOWN 1
-
-/* Define to 1 if you have the `lgamma' function. */
-#define HAVE_LGAMMA 1
-
-/* Define to 1 if you have the `dl' library (-ldl). */
-#define HAVE_LIBDL 1
-
-/* Define to 1 if you have the `dld' library (-ldld). */
-/* #undef HAVE_LIBDLD */
-
-/* Define to 1 if you have the `ieee' library (-lieee). */
-/* #undef HAVE_LIBIEEE */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_LIBINTL_H */
-
-/* Define if you have the readline library (-lreadline). */
-#define HAVE_LIBREADLINE 1
-
-/* Define to 1 if you have the `resolv' library (-lresolv). */
-/* #undef HAVE_LIBRESOLV */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_LIBUTIL_H */
-
-/* Define if you have the 'link' function. */
-#define HAVE_LINK 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_LINUX_NETLINK_H */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_LINUX_TIPC_H */
-
-/* Define to 1 if you have the `log1p' function. */
-#define HAVE_LOG1P 1
-
-/* Define this if you have the type long double. */
-#define HAVE_LONG_DOUBLE 1
-
-/* Define this if you have the type long long. */
-#define HAVE_LONG_LONG 1
-
-/* Define to 1 if you have the `lstat' function. */
-#define HAVE_LSTAT 1
-
-/* Define this if you have the makedev macro. */
-#define HAVE_MAKEDEV 1
-
-/* Define to 1 if you have the `memmove' function. */
-#define HAVE_MEMMOVE 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the `mkfifo' function. */
-#define HAVE_MKFIFO 1
-
-/* Define to 1 if you have the `mknod' function. */
-#define HAVE_MKNOD 1
-
-/* Define to 1 if you have the `mktime' function. */
-#define HAVE_MKTIME 1
-
-/* Define to 1 if you have the `mremap' function. */
-/* #undef HAVE_MREMAP */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_NCURSES_H 1
-
-/* Define to 1 if you have the header file, and it defines `DIR'. */
-/* #undef HAVE_NDIR_H */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_NETPACKET_PACKET_H */
-
-/* Define to 1 if you have the `nice' function. */
-#define HAVE_NICE 1
-
-/* Define to 1 if you have the `openpty' function. */
-#define HAVE_OPENPTY 1
-
-/* Define if compiling using MacOS X 10.5 SDK or later. */
-#define HAVE_OSX105_SDK 1
-
-/* Define to 1 if you have the `pathconf' function. */
-#define HAVE_PATHCONF 1
-
-/* Define to 1 if you have the `pause' function. */
-#define HAVE_PAUSE 1
-
-/* Define to 1 if you have the `plock' function. */
-/* #undef HAVE_PLOCK */
-
-/* Define to 1 if you have the `poll' function. */
-#undef HAVE_POLL
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_POLL_H
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_PROCESS_H */
-
-/* Define if your compiler supports function prototype */
-#define HAVE_PROTOTYPES 1
-
-/* Define if you have GNU PTH threads. */
-/* #undef HAVE_PTH */
-
-/* Defined for Solaris 2.6 bug in pthread header. */
-/* #undef HAVE_PTHREAD_DESTRUCTOR */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_PTHREAD_H 1
-
-/* Define to 1 if you have the `pthread_init' function. */
-#define HAVE_PTHREAD_INIT 1
-
-/* Define to 1 if you have the `pthread_sigmask' function. */
-#define HAVE_PTHREAD_SIGMASK 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_PTY_H */
-
-/* Define to 1 if you have the `putenv' function. */
-#define HAVE_PUTENV 1
-
-/* Define to 1 if you have the `readlink' function. */
-#define HAVE_READLINK 1
-
-/* Define to 1 if you have the `realpath' function. */
-#define HAVE_REALPATH 1
-
-/* Define if you have readline 2.1 */
-#define HAVE_RL_CALLBACK 1
-
-/* Define if you can turn off readline's signal handling. */
-#define HAVE_RL_CATCH_SIGNAL 1
-
-/* Define if you have readline 2.2 */
-#define HAVE_RL_COMPLETION_APPEND_CHARACTER 1
-
-/* Define if you have readline 4.0 */
-#define HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK 1
-
-/* Define if you have readline 4.2 */
-#define HAVE_RL_COMPLETION_MATCHES 1
-
-/* Define if you have rl_completion_suppress_append */
-#define HAVE_RL_COMPLETION_SUPPRESS_APPEND 1
-
-/* Define if you have readline 4.0 */
-#define HAVE_RL_PRE_INPUT_HOOK 1
-
-/* Define to 1 if you have the `round' function. */
-#define HAVE_ROUND 1
-
-/* Define to 1 if you have the `select' function. */
-#define HAVE_SELECT 1
-
-/* Define to 1 if you have the `sem_getvalue' function. */
-#define HAVE_SEM_GETVALUE 1
-
-/* Define to 1 if you have the `sem_open' function. */
-#define HAVE_SEM_OPEN 1
-
-/* Define to 1 if you have the `sem_timedwait' function. */
-/* #undef HAVE_SEM_TIMEDWAIT */
-
-/* Define to 1 if you have the `sem_unlink' function. */
-#define HAVE_SEM_UNLINK 1
-
-/* Define to 1 if you have the `setegid' function. */
-#define HAVE_SETEGID 1
-
-/* Define to 1 if you have the `seteuid' function. */
-#define HAVE_SETEUID 1
-
-/* Define to 1 if you have the `setgid' function. */
-#define HAVE_SETGID 1
-
-/* Define if you have the 'setgroups' function. */
-#define HAVE_SETGROUPS 1
-
-/* Define to 1 if you have the `setitimer' function. */
-#define HAVE_SETITIMER 1
-
-/* Define to 1 if you have the `setlocale' function. */
-#define HAVE_SETLOCALE 1
-
-/* Define to 1 if you have the `setpgid' function. */
-#define HAVE_SETPGID 1
-
-/* Define to 1 if you have the `setpgrp' function. */
-#define HAVE_SETPGRP 1
-
-/* Define to 1 if you have the `setregid' function. */
-#define HAVE_SETREGID 1
-
-/* Define to 1 if you have the `setresgid' function. */
-/* #undef HAVE_SETRESGID */
-
-/* Define to 1 if you have the `setresuid' function. */
-/* #undef HAVE_SETRESUID */
-
-/* Define to 1 if you have the `setreuid' function. */
-#define HAVE_SETREUID 1
-
-/* Define to 1 if you have the `setsid' function. */
-#define HAVE_SETSID 1
-
-/* Define to 1 if you have the `setuid' function. */
-#define HAVE_SETUID 1
-
-/* Define to 1 if you have the `setvbuf' function. */
-#define HAVE_SETVBUF 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SHADOW_H */
-
-/* Define to 1 if you have the `sigaction' function. */
-#define HAVE_SIGACTION 1
-
-/* Define to 1 if you have the `siginterrupt' function. */
-#define HAVE_SIGINTERRUPT 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SIGNAL_H 1
-
-/* Define to 1 if you have the `sigrelse' function. */
-#define HAVE_SIGRELSE 1
-
-/* Define to 1 if you have the `snprintf' function. */
-#define HAVE_SNPRINTF 1
-
-/* Define if sockaddr has sa_len member */
-#define HAVE_SOCKADDR_SA_LEN 1
-
-/* struct sockaddr_storage (sys/socket.h) */
-#define HAVE_SOCKADDR_STORAGE 1
-
-/* Define if you have the 'socketpair' function. */
-#define HAVE_SOCKETPAIR 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SPAWN_H 1
-
-/* Define if your compiler provides ssize_t */
-#define HAVE_SSIZE_T 1
-
-/* Define to 1 if you have the `statvfs' function. */
-#define HAVE_STATVFS 1
-
-/* Define if you have struct stat.st_mtim.tv_nsec */
-/* #undef HAVE_STAT_TV_NSEC */
-
-/* Define if you have struct stat.st_mtimensec */
-#define HAVE_STAT_TV_NSEC2 1
-
-/* Define if your compiler supports variable length function prototypes (e.g.
- void fprintf(FILE *, char *, ...);) *and* */
-#define HAVE_STDARG_PROTOTYPES 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the `strdup' function. */
-#define HAVE_STRDUP 1
-
-/* Define to 1 if you have the `strftime' function. */
-#define HAVE_STRFTIME 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_STROPTS_H */
-
-/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_BIRTHTIME 1
-
-/* Define to 1 if `st_blksize' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
-
-/* Define to 1 if `st_blocks' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_BLOCKS 1
-
-/* Define to 1 if `st_flags' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_FLAGS 1
-
-/* Define to 1 if `st_gen' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_GEN 1
-
-/* Define to 1 if `st_rdev' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_RDEV 1
-
-/* Define to 1 if `tm_zone' is a member of `struct tm'. */
-#define HAVE_STRUCT_TM_TM_ZONE 1
-
-/* Define to 1 if your `struct stat' has `st_blocks'. Deprecated, use
- `HAVE_STRUCT_STAT_ST_BLOCKS' instead. */
-#define HAVE_ST_BLOCKS 1
-
-/* Define if you have the 'symlink' function. */
-#define HAVE_SYMLINK 1
-
-/* Define to 1 if you have the `sysconf' function. */
-#define HAVE_SYSCONF 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYSEXITS_H 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_AUDIOIO_H */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_BSDTTY_H */
-
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-/* #undef HAVE_SYS_DIR_H */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_EPOLL_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_EVENT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_FILE_H 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_LOADAVG_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_LOCK_H 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_MKDEV_H */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_MODEM_H */
-
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-/* #undef HAVE_SYS_NDIR_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_PARAM_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_POLL_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_RESOURCE_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_SELECT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_SOCKET_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_STATVFS_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_TERMIO_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_TIMES_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_UN_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_UTSNAME_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_WAIT_H 1
-
-/* Define to 1 if you have the `tcgetpgrp' function. */
-#define HAVE_TCGETPGRP 1
-
-/* Define to 1 if you have the `tcsetpgrp' function. */
-#define HAVE_TCSETPGRP 1
-
-/* Define to 1 if you have the `tempnam' function. */
-#define HAVE_TEMPNAM 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_TERMIOS_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_TERM_H 1
-
-/* Define to 1 if you have the `tgamma' function. */
-#define HAVE_TGAMMA 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_THREAD_H */
-
-/* Define to 1 if you have the `timegm' function. */
-#define HAVE_TIMEGM 1
-
-/* Define to 1 if you have the `times' function. */
-#define HAVE_TIMES 1
-
-/* Define to 1 if you have the `tmpfile' function. */
-#define HAVE_TMPFILE 1
-
-/* Define to 1 if you have the `tmpnam' function. */
-#define HAVE_TMPNAM 1
-
-/* Define to 1 if you have the `tmpnam_r' function. */
-/* #undef HAVE_TMPNAM_R */
-
-/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
- `HAVE_STRUCT_TM_TM_ZONE' instead. */
-#define HAVE_TM_ZONE 1
-
-/* Define to 1 if you have the `truncate' function. */
-#define HAVE_TRUNCATE 1
-
-/* Define to 1 if you don't have `tm_zone' but do have the external array
- `tzname'. */
-/* #undef HAVE_TZNAME */
-
-/* Define this if you have tcl and TCL_UTF_MAX==6 */
-/* #undef HAVE_UCS4_TCL */
-
-/* Define if your compiler provides uint32_t. */
-#define HAVE_UINT32_T 1
-
-/* Define if your compiler provides uint64_t. */
-#define HAVE_UINT64_T 1
-
-/* Define to 1 if the system has the type `uintptr_t'. */
-#define HAVE_UINTPTR_T 1
-
-/* Define to 1 if you have the `uname' function. */
-#define HAVE_UNAME 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to 1 if you have the `unsetenv' function. */
-#define HAVE_UNSETENV 1
-
-/* Define if you have a useable wchar_t type defined in wchar.h; useable means
- wchar_t must be an unsigned type with at least 16 bits. (see
- Include/unicodeobject.h). */
-/* #undef HAVE_USABLE_WCHAR_T */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_UTIL_H 1
-
-/* Define to 1 if you have the `utimes' function. */
-#define HAVE_UTIMES 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_UTIME_H 1
-
-/* Define to 1 if you have the `wait3' function. */
-#define HAVE_WAIT3 1
-
-/* Define to 1 if you have the `wait4' function. */
-#define HAVE_WAIT4 1
-
-/* Define to 1 if you have the `waitpid' function. */
-#define HAVE_WAITPID 1
-
-/* Define if the compiler provides a wchar.h header file. */
-#define HAVE_WCHAR_H 1
-
-/* Define to 1 if you have the `wcscoll' function. */
-#define HAVE_WCSCOLL 1
-
-/* Define if tzset() actually switches the local timezone in a meaningful way.
- */
-#define HAVE_WORKING_TZSET 1
-
-/* Define if the zlib library has inflateCopy */
-#define HAVE_ZLIB_COPY 1
-
-/* Define to 1 if you have the `_getpty' function. */
-/* #undef HAVE__GETPTY */
-
-/* Define if you are using Mach cthreads directly under /include */
-/* #undef HURD_C_THREADS */
-
-/* Define if you are using Mach cthreads under mach / */
-/* #undef MACH_C_THREADS */
-
-/* Define to 1 if `major', `minor', and `makedev' are declared in .
- */
-/* #undef MAJOR_IN_MKDEV */
-
-/* Define to 1 if `major', `minor', and `makedev' are declared in
- . */
-/* #undef MAJOR_IN_SYSMACROS */
-
-/* Define if mvwdelch in curses.h is an expression. */
-#define MVWDELCH_IS_EXPRESSION 1
-
-/* Define to the address where bug reports for this package should be sent. */
-/* #undef PACKAGE_BUGREPORT */
-
-/* Define to the full name of this package. */
-/* #undef PACKAGE_NAME */
-
-/* Define to the full name and version of this package. */
-/* #undef PACKAGE_STRING */
-
-/* Define to the one symbol short name of this package. */
-/* #undef PACKAGE_TARNAME */
-
-/* Define to the home page for this package. */
-/* #undef PACKAGE_URL */
-
-/* Define to the version of this package. */
-/* #undef PACKAGE_VERSION */
-
-/* Define if POSIX semaphores aren't enabled on your system */
-/* #undef POSIX_SEMAPHORES_NOT_ENABLED */
-
-/* Defined if PTHREAD_SCOPE_SYSTEM supported. */
-#define PTHREAD_SYSTEM_SCHED_SUPPORTED 1
-
-/* Define as the preferred size in bits of long digits */
-/* #undef PYLONG_BITS_IN_DIGIT */
-
-/* Define to printf format modifier for long long type */
-#define PY_FORMAT_LONG_LONG "ll"
-
-/* Define to printf format modifier for Py_ssize_t */
-#define PY_FORMAT_SIZE_T "z"
-
-/* Define as the integral type used for Unicode representation. */
-#define PY_UNICODE_TYPE unsigned short
-
-/* Define if you want to build an interpreter with many run-time checks. */
-/* #undef Py_DEBUG */
-
-/* Defined if Python is built as a shared library. */
-/* #undef Py_ENABLE_SHARED */
-
-/* Define as the size of the unicode type. */
-#define Py_UNICODE_SIZE 2
-
-/* Define if you want to have a Unicode type. */
-#define Py_USING_UNICODE 1
-
-/* assume C89 semantics that RETSIGTYPE is always void */
-#define RETSIGTYPE void
-
-/* Define if setpgrp() must be called as setpgrp(0, 0). */
-/* #undef SETPGRP_HAVE_ARG */
-
-/* Define this to be extension of shared libraries (including the dot!). */
-#define SHLIB_EXT ".so"
-
-/* Define if i>>j for signed int i does not extend the sign bit when i < 0 */
-/* #undef SIGNED_RIGHT_SHIFT_ZERO_FILLS */
-
-/* The size of `double', as computed by sizeof. */
-#define SIZEOF_DOUBLE 8
-
-/* The size of `float', as computed by sizeof. */
-#define SIZEOF_FLOAT 4
-
-/* The size of `fpos_t', as computed by sizeof. */
-#define SIZEOF_FPOS_T 8
-
-/* The size of `int', as computed by sizeof. */
-#define SIZEOF_INT 4
-
-/* The size of `long', as computed by sizeof. */
-#define SIZEOF_LONG 8
-
-/* The size of `long double', as computed by sizeof. */
-#define SIZEOF_LONG_DOUBLE 16
-
-/* The size of `long long', as computed by sizeof. */
-#define SIZEOF_LONG_LONG 8
-
-/* The size of `off_t', as computed by sizeof. */
-#define SIZEOF_OFF_T 8
-
-/* The size of `pid_t', as computed by sizeof. */
-#define SIZEOF_PID_T 4
-
-/* The size of `pthread_t', as computed by sizeof. */
-#define SIZEOF_PTHREAD_T 8
-
-/* The size of `short', as computed by sizeof. */
-#define SIZEOF_SHORT 2
-
-/* The size of `size_t', as computed by sizeof. */
-#define SIZEOF_SIZE_T 8
-
-/* The size of `time_t', as computed by sizeof. */
-#define SIZEOF_TIME_T 8
-
-/* The size of `uintptr_t', as computed by sizeof. */
-#define SIZEOF_UINTPTR_T 8
-
-/* The size of `void *', as computed by sizeof. */
-#define SIZEOF_VOID_P 8
-
-/* The size of `wchar_t', as computed by sizeof. */
-#define SIZEOF_WCHAR_T 4
-
-/* The size of `_Bool', as computed by sizeof. */
-#define SIZEOF__BOOL 1
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define if you can safely include both and
- (which you can't on SCO ODT 3.0). */
-#define SYS_SELECT_WITH_SYS_TIME 1
-
-/* Define if tanh(-0.) is -0., or if platform doesn't have signed zeros */
-#define TANH_PRESERVES_ZERO_SIGN 1
-
-/* Define to 1 if you can safely include both and . */
-#define TIME_WITH_SYS_TIME 1
-
-/* Define to 1 if your declares `struct tm'. */
-/* #undef TM_IN_SYS_TIME */
-
-/* Enable extensions on AIX 3, Interix. */
-#ifndef _ALL_SOURCE
-# define _ALL_SOURCE 1
-#endif
-/* Enable GNU extensions on systems that have them. */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE 1
-#endif
-/* Enable threading extensions on Solaris. */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# define _POSIX_PTHREAD_SEMANTICS 1
-#endif
-/* Enable extensions on HP NonStop. */
-#ifndef _TANDEM_SOURCE
-# define _TANDEM_SOURCE 1
-#endif
-/* Enable general extensions on Solaris. */
-#ifndef __EXTENSIONS__
-# define __EXTENSIONS__ 1
-#endif
-
-
-/* Define if you want to use MacPython modules on MacOSX in unix-Python. */
-#define USE_TOOLBOX_OBJECT_GLUE 1
-
-/* Define if a va_list is an array of some kind */
-#define VA_LIST_IS_ARRAY 1
-
-/* Define if you want SIGFPE handled (see Include/pyfpe.h). */
-/* #undef WANT_SIGFPE_HANDLER */
-
-/* Define if you want wctype.h functions to be used instead of the one
- supplied by Python itself. (see Include/unicodectype.h). */
-/* #undef WANT_WCTYPE_FUNCTIONS */
-
-/* Define if WINDOW in curses.h offers a field _flags. */
-/* #undef WINDOW_HAS_FLAGS */
-
-/* Define if you want documentation strings in extension modules */
-#define WITH_DOC_STRINGS 1
-
-/* Define if you want to use the new-style (Openstep, Rhapsody, MacOS) dynamic
- linker (dyld) instead of the old-style (NextStep) dynamic linker (rld).
- Dyld is necessary to support frameworks. */
-#define WITH_DYLD 1
-
-/* Define to 1 if libintl is needed for locale functions. */
-/* #undef WITH_LIBINTL */
-
-/* Define if you want to produce an OpenStep/Rhapsody framework (shared
- library plus accessory files). */
-#define WITH_NEXT_FRAMEWORK 1
-
-/* Define if you want to compile in Python-specific mallocs */
-#define WITH_PYMALLOC 1
-
-/* Define if you want to compile in rudimentary thread support */
-#define WITH_THREAD 1
-
-/* Define to profile with the Pentium timestamp counter */
-/* #undef WITH_TSC */
-
-/* Define if you want pymalloc to be disabled when running under valgrind */
-/* #undef WITH_VALGRIND */
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
- significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-# define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-/* # undef WORDS_BIGENDIAN */
-# endif
-#endif
-
-/* Define if arithmetic is subject to x87-style double rounding issue */
-/* #undef X87_DOUBLE_ROUNDING */
-
-/* Define on OpenBSD to activate all library features */
-/* #undef _BSD_SOURCE */
-
-/* Define on Irix to enable u_int */
-#define _BSD_TYPES 1
-
-/* Define on Darwin to activate all library features */
-#define _DARWIN_C_SOURCE 1
-
-/* This must be set to 64 on some systems to enable large file support. */
-#define _FILE_OFFSET_BITS 64
-
-/* Define on Linux to activate all library features */
-#define _GNU_SOURCE 1
-
-/* This must be defined on some systems to enable large file support. */
-#define _LARGEFILE_SOURCE 1
-
-/* This must be defined on AIX systems to enable large file support. */
-/* #undef _LARGE_FILES */
-
-/* Define to 1 if on MINIX. */
-/* #undef _MINIX */
-
-/* Define on NetBSD to activate all library features */
-#define _NETBSD_SOURCE 1
-
-/* Define _OSF_SOURCE to get the makedev macro. */
-/* #undef _OSF_SOURCE */
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
- this defined. */
-/* #undef _POSIX_1_SOURCE */
-
-/* Define to activate features from IEEE Stds 1003.1-2001 */
-/* #undef _POSIX_C_SOURCE */
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-/* #undef _POSIX_SOURCE */
-
-/* Define if you have POSIX threads, and your system does not define that. */
-/* #undef _POSIX_THREADS */
-
-/* Define to force use of thread-safe errno, h_errno, and other functions */
-#define _REENTRANT 1
-
-/* Define for Solaris 2.5.1 so the uint32_t typedef from ,
- , or is not used. If the typedef were allowed, the
- #define below would cause a syntax error. */
-/* #undef _UINT32_T */
-
-/* Define for Solaris 2.5.1 so the uint64_t typedef from ,
- , or is not used. If the typedef were allowed, the
- #define below would cause a syntax error. */
-/* #undef _UINT64_T */
-
-/* Define to the level of X/Open that your system supports */
-/* #undef _XOPEN_SOURCE */
-
-/* Define to activate Unix95-and-earlier features */
-/* #undef _XOPEN_SOURCE_EXTENDED */
-
-/* Define on FreeBSD to activate all library features */
-#define __BSD_VISIBLE 1
-
-/* Define to 1 if type `char' is unsigned and you are not using gcc. */
-#ifndef __CHAR_UNSIGNED__
-/* # undef __CHAR_UNSIGNED__ */
-#endif
-
-/* Defined on Solaris to see additional function prototypes. */
-#define __EXTENSIONS__ 1
-
-/* Define to 'long' if doesn't define. */
-/* #undef clock_t */
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-/* Define to `int' if doesn't define. */
-/* #undef gid_t */
-
-/* Define to the type of a signed integer type of width exactly 32 bits if
- such a type exists and the standard includes do not define it. */
-/* #undef int32_t */
-
-/* Define to the type of a signed integer type of width exactly 64 bits if
- such a type exists and the standard includes do not define it. */
-/* #undef int64_t */
-
-/* Define to `int' if does not define. */
-/* #undef mode_t */
-
-/* Define to `long int' if does not define. */
-/* #undef off_t */
-
-/* Define to `int' if does not define. */
-/* #undef pid_t */
-
-/* Define to empty if the keyword does not work. */
-/* #undef signed */
-
-/* Define to `unsigned int' if does not define. */
-/* #undef size_t */
-
-/* Define to `int' if does not define. */
-/* #undef socklen_t */
-
-/* Define to `int' if doesn't define. */
-/* #undef uid_t */
-
-/* Define to the type of an unsigned integer type of width exactly 32 bits if
- such a type exists and the standard includes do not define it. */
-/* #undef uint32_t */
-
-/* Define to the type of an unsigned integer type of width exactly 64 bits if
- such a type exists and the standard includes do not define it. */
-/* #undef uint64_t */
-
-/* Define to empty if the keyword does not work. */
-/* #undef volatile */
-
-
-/* Define the macros needed if on a UnixWare 7.x system. */
-#if defined(__USLC__) && defined(__SCO_VERSION__)
-#define STRICT_SYSV_CURSES /* Don't use ncurses extensions */
-#endif
-
-#endif /*Py_PYCONFIG_H*/
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/Makefile b/FeedTheMonkey.app/Contents/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/Makefile
deleted file mode 100644
index 268b2c1..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/Makefile
+++ /dev/null
@@ -1,1397 +0,0 @@
-# Generated automatically from Makefile.pre by makesetup.
-# Top-level Makefile for Python
-#
-# As distributed, this file is called Makefile.pre.in; it is processed
-# into the real Makefile by running the script ./configure, which
-# replaces things like @spam@ with values appropriate for your system.
-# This means that if you edit Makefile, your changes get lost the next
-# time you run the configure script. Ideally, you can do:
-#
-# ./configure
-# make
-# make test
-# make install
-#
-# If you have a previous version of Python installed that you don't
-# want to overwrite, you can use "make altinstall" instead of "make
-# install". Refer to the "Installing" section in the README file for
-# additional details.
-#
-# See also the section "Build instructions" in the README file.
-
-# === Variables set by makesetup ===
-
-MODOBJS= Modules/threadmodule.o Modules/signalmodule.o Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/zipimport.o Modules/symtablemodule.o Modules/xxsubtype.o
-MODLIBS= $(LOCALMODLIBS) $(BASEMODLIBS)
-
-# === Variables set by configure
-VERSION= 2.7
-srcdir= .
-
-abs_srcdir= /private/tmp/python-Yar9/Python-2.7.5
-abs_builddir= /private/tmp/python-Yar9/Python-2.7.5
-build= x86_64-apple-darwin12.5.0
-host= x86_64-apple-darwin12.5.0
-
-CC= cc
-CXX= c++
-MAINCC= $(CC)
-LINKCC= $(PURIFY) $(MAINCC)
-AR= ar
-RANLIB= ranlib
-SVNVERSION= svnversion $(srcdir)
-HGVERSION=
-HGTAG=
-HGBRANCH=
-
-GNULD= no
-
-# Shell used by make (some versions default to the login shell, which is bad)
-SHELL= /bin/sh
-
-# Use this to make a link between python$(VERSION) and python in $(BINDIR)
-LN= ln
-
-# Portable install script (configure doesn't always guess right)
-INSTALL= /usr/bin/install -c
-INSTALL_PROGRAM=${INSTALL}
-INSTALL_SCRIPT= ${INSTALL}
-INSTALL_DATA= ${INSTALL} -m 644
-# Shared libraries must be installed with executable mode on some systems;
-# rather than figuring out exactly which, we always give them executable mode.
-# Also, making them read-only seems to be a good idea...
-INSTALL_SHARED= ${INSTALL} -m 555
-
-MKDIR_P= ./install-sh -c -d
-
-MAKESETUP= $(srcdir)/Modules/makesetup
-
-# Compiler options
-OPT= -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
-BASECFLAGS= -fno-strict-aliasing -fno-common -dynamic
-CFLAGS= $(BASECFLAGS) -I/usr/local/include -I/usr/local/opt/sqlite/include $(OPT) $(EXTRA_CFLAGS)
-# Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
-# be able to build extension modules using the directories specified in the
-# environment variables
-CPPFLAGS= -I. -IInclude -I$(srcdir)/Include
-LDFLAGS= -L/usr/local/lib -L/usr/local/opt/sqlite/lib
-LDLAST=
-SGI_ABI=
-CCSHARED=
-LINKFORSHARED=-u _PyMac_Error $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)
-ARFLAGS= rc
-# Extra C flags added for building the interpreter object files.
-CFLAGSFORSHARED=$(CCSHARED)
-# C flags used for building the interpreter object files
-PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE
-
-
-# Machine-dependent subdirectories
-MACHDEP= darwin
-
-# Multiarch directory (may be empty)
-MULTIARCH=
-
-# Install prefix for architecture-independent files
-prefix= /usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7
-
-# Install prefix for architecture-dependent files
-exec_prefix= ${prefix}
-
-# Install prefix for data files
-datarootdir= /usr/local/Cellar/python/2.7.5/share
-
-# Expanded directories
-BINDIR= ${exec_prefix}/bin
-LIBDIR= ${exec_prefix}/lib
-MANDIR= ${datarootdir}/man
-INCLUDEDIR= ${prefix}/include
-CONFINCLUDEDIR= $(exec_prefix)/include
-SCRIPTDIR= $(prefix)/lib
-
-# Detailed destination directories
-BINLIBDEST= $(LIBDIR)/python$(VERSION)
-LIBDEST= $(SCRIPTDIR)/python$(VERSION)
-INCLUDEPY= $(INCLUDEDIR)/python$(VERSION)
-CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(VERSION)
-LIBP= $(LIBDIR)/python$(VERSION)
-
-# Symbols used for using shared libraries
-SO= .so
-LDSHARED= $(CC) -bundle -undefined dynamic_lookup $(LDFLAGS)
-BLDSHARED= $(CC) -bundle -undefined dynamic_lookup $(LDFLAGS)
-LDCXXSHARED= $(CXX) -bundle -undefined dynamic_lookup
-DESTSHARED= $(BINLIBDEST)/lib-dynload
-
-# Executable suffix (.exe on Windows and Mac OS X)
-EXE=
-BUILDEXE= .exe
-
-# Short name and location for Mac OS X Python framework
-UNIVERSALSDK=
-PYTHONFRAMEWORK= Python
-PYTHONFRAMEWORKDIR= Python.framework
-PYTHONFRAMEWORKPREFIX= /usr/local/Cellar/python/2.7.5/Frameworks
-PYTHONFRAMEWORKINSTALLDIR= /usr/local/Cellar/python/2.7.5/Frameworks/Python.framework
-# Deployment target selected during configure, to be checked
-# by distutils. The export statement is needed to ensure that the
-# deployment target is active during build.
-MACOSX_DEPLOYMENT_TARGET=10.8
-export MACOSX_DEPLOYMENT_TARGET
-
-# Options to enable prebinding (for fast startup prior to Mac OS X 10.3)
-OTHER_LIBTOOL_OPT=
-
-# Environment to run shared python without installed libraries
-RUNSHARED= DYLD_FRAMEWORK_PATH=/private/tmp/python-Yar9/Python-2.7.5:
-
-# Modes for directories, executables and data files created by the
-# install process. Default to user-only-writable for all file types.
-DIRMODE= 755
-EXEMODE= 755
-FILEMODE= 644
-
-# configure script arguments
-CONFIG_ARGS= '--prefix=/usr/local/Cellar/python/2.7.5' '--enable-ipv6' '--datarootdir=/usr/local/Cellar/python/2.7.5/share' '--datadir=/usr/local/Cellar/python/2.7.5/share' '--enable-framework=/usr/local/Cellar/python/2.7.5/Frameworks' '--without-gcc' 'CFLAGS=-I/usr/local/include -I/usr/local/opt/sqlite/include' 'LDFLAGS=-L/usr/local/lib -L/usr/local/opt/sqlite/lib' 'MACOSX_DEPLOYMENT_TARGET=10.8' 'CC=cc'
-
-
-# Subdirectories with code
-SRCDIRS= Parser Grammar Objects Python Modules Mac
-
-# Other subdirectories
-SUBDIRSTOO= Include Lib Misc Demo
-
-# Files and directories to be distributed
-CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in
-DISTFILES= README ChangeLog $(CONFIGFILES)
-DISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy
-DIST= $(DISTFILES) $(DISTDIRS)
-
-
-LIBRARY= libpython$(VERSION).a
-LDLIBRARY= $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)
-BLDLIBRARY=
-DLLLIBRARY=
-LDLIBRARYDIR=
-INSTSONAME= $(LDLIBRARY)
-
-
-LIBS= -ldl -framework CoreFoundation
-LIBM=
-LIBC=
-SYSLIBS= $(LIBM) $(LIBC)
-SHLIBS= $(LIBS)
-
-THREADOBJ= Python/thread.o
-DLINCLDIR= .
-DYNLOADFILE= dynload_shlib.o
-MACHDEP_OBJS= Python/mactoolboxglue.o
-LIBOBJDIR= Python/
-LIBOBJS=
-UNICODE_OBJS= Objects/unicodeobject.o Objects/unicodectype.o
-
-PYTHON= python$(EXE)
-BUILDPYTHON= python$(BUILDEXE)
-
-PYTHON_FOR_BUILD=./$(BUILDPYTHON) -E
-_PYTHON_HOST_PLATFORM=
-HOST_GNU_TYPE= x86_64-apple-darwin12.5.0
-
-# The task to run while instrument when building the profile-opt target
-PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck
-#PROFILE_TASK= $(srcdir)/Lib/test/regrtest.py
-
-# === Definitions added by makesetup ===
-
-LOCALMODLIBS=
-BASEMODLIBS=
-GLHACK=-Dclear=__GLclear
-PYTHONPATH=$(COREPYTHONPATH)
-COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(EXTRAMACHDEPPATH)$(TKPATH)$(OLDPATH)
-OLDPATH=:lib-old
-TKPATH=:lib-tk
-EXTRAMACHDEPPATH=
-MACHDEPPATH=:plat-$(MACHDEP)
-TESTPATH=
-SITEPATH=
-DESTPATH=
-MACHDESTLIB=$(BINLIBDEST)
-DESTLIB=$(LIBDEST)
-
-
-##########################################################################
-# Modules
-MODULE_OBJS= \
- Modules/config.o \
- Modules/getpath.o \
- Modules/main.o \
- Modules/gcmodule.o
-
-# Used of signalmodule.o is not available
-SIGNAL_OBJS=
-
-
-##########################################################################
-# Grammar
-GRAMMAR_H= Include/graminit.h
-GRAMMAR_C= Python/graminit.c
-GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar
-
-
-LIBFFI_INCLUDEDIR=
-
-##########################################################################
-# Parser
-PGEN= Parser/pgen$(EXE)
-
-PSRCS= \
- Parser/acceler.c \
- Parser/grammar1.c \
- Parser/listnode.c \
- Parser/node.c \
- Parser/parser.c \
- Parser/parsetok.c \
- Parser/bitset.c \
- Parser/metagrammar.c \
- Parser/firstsets.c \
- Parser/grammar.c \
- Parser/pgen.c
-
-POBJS= \
- Parser/acceler.o \
- Parser/grammar1.o \
- Parser/listnode.o \
- Parser/node.o \
- Parser/parser.o \
- Parser/parsetok.o \
- Parser/bitset.o \
- Parser/metagrammar.o \
- Parser/firstsets.o \
- Parser/grammar.o \
- Parser/pgen.o
-
-PARSER_OBJS= $(POBJS) Parser/myreadline.o Parser/tokenizer.o
-
-PGSRCS= \
- Objects/obmalloc.c \
- Python/mysnprintf.c \
- Python/pyctype.c \
- Parser/tokenizer_pgen.c \
- Parser/printgrammar.c \
- Parser/pgenmain.c
-
-PGOBJS= \
- Objects/obmalloc.o \
- Python/mysnprintf.o \
- Python/pyctype.o \
- Parser/tokenizer_pgen.o \
- Parser/printgrammar.o \
- Parser/pgenmain.o
-
-PARSER_HEADERS= \
- Parser/parser.h \
- Parser/tokenizer.h
-
-PGENSRCS= $(PSRCS) $(PGSRCS)
-PGENOBJS= $(POBJS) $(PGOBJS)
-
-##########################################################################
-# AST
-AST_H_DIR= Include
-AST_H= $(AST_H_DIR)/Python-ast.h
-AST_C_DIR= Python
-AST_C= $(AST_C_DIR)/Python-ast.c
-AST_ASDL= $(srcdir)/Parser/Python.asdl
-
-ASDLGEN_FILES= $(srcdir)/Parser/asdl.py $(srcdir)/Parser/asdl_c.py
-# XXX Note that a build now requires Python exist before the build starts
-ASDLGEN= $(srcdir)/Parser/asdl_c.py
-
-##########################################################################
-# Python
-PYTHON_OBJS= \
- Python/_warnings.o \
- Python/Python-ast.o \
- Python/asdl.o \
- Python/ast.o \
- Python/bltinmodule.o \
- Python/ceval.o \
- Python/compile.o \
- Python/codecs.o \
- Python/errors.o \
- Python/frozen.o \
- Python/frozenmain.o \
- Python/future.o \
- Python/getargs.o \
- Python/getcompiler.o \
- Python/getcopyright.o \
- Python/getplatform.o \
- Python/getversion.o \
- Python/graminit.o \
- Python/import.o \
- Python/importdl.o \
- Python/marshal.o \
- Python/modsupport.o \
- Python/mystrtoul.o \
- Python/mysnprintf.o \
- Python/peephole.o \
- Python/pyarena.o \
- Python/pyctype.o \
- Python/pyfpe.o \
- Python/pymath.o \
- Python/pystate.o \
- Python/pythonrun.o \
- Python/random.o \
- Python/structmember.o \
- Python/symtable.o \
- Python/sysmodule.o \
- Python/traceback.o \
- Python/getopt.o \
- Python/pystrcmp.o \
- Python/pystrtod.o \
- Python/dtoa.o \
- Python/formatter_unicode.o \
- Python/formatter_string.o \
- Python/$(DYNLOADFILE) \
- $(LIBOBJS) \
- $(MACHDEP_OBJS) \
- $(THREADOBJ)
-
-
-##########################################################################
-# Objects
-OBJECT_OBJS= \
- Objects/abstract.o \
- Objects/boolobject.o \
- Objects/bufferobject.o \
- Objects/bytes_methods.o \
- Objects/bytearrayobject.o \
- Objects/capsule.o \
- Objects/cellobject.o \
- Objects/classobject.o \
- Objects/cobject.o \
- Objects/codeobject.o \
- Objects/complexobject.o \
- Objects/descrobject.o \
- Objects/enumobject.o \
- Objects/exceptions.o \
- Objects/genobject.o \
- Objects/fileobject.o \
- Objects/floatobject.o \
- Objects/frameobject.o \
- Objects/funcobject.o \
- Objects/intobject.o \
- Objects/iterobject.o \
- Objects/listobject.o \
- Objects/longobject.o \
- Objects/dictobject.o \
- Objects/memoryobject.o \
- Objects/methodobject.o \
- Objects/moduleobject.o \
- Objects/object.o \
- Objects/obmalloc.o \
- Objects/rangeobject.o \
- Objects/setobject.o \
- Objects/sliceobject.o \
- Objects/stringobject.o \
- Objects/structseq.o \
- Objects/tupleobject.o \
- Objects/typeobject.o \
- Objects/weakrefobject.o \
- $(UNICODE_OBJS)
-
-
-##########################################################################
-# objects that get linked into the Python library
-LIBRARY_OBJS= \
- Modules/getbuildinfo.o \
- $(PARSER_OBJS) \
- $(OBJECT_OBJS) \
- $(PYTHON_OBJS) \
- $(MODULE_OBJS) \
- $(SIGNAL_OBJS) \
- $(MODOBJS)
-
-#########################################################################
-# Rules
-
-# Default target
-all: build_all
-build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks
-
-# Compile a binary with gcc profile guided optimization.
-profile-opt:
- @echo "Building with support for profile generation:"
- $(MAKE) clean
- $(MAKE) build_all_generate_profile
- @echo "Running benchmark to generate profile data:"
- $(MAKE) profile-removal
- $(MAKE) run_profile_task
- @echo "Rebuilding with profile guided optimizations:"
- $(MAKE) clean
- $(MAKE) build_all_use_profile
-
-build_all_generate_profile:
- $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-generate" LIBS="$(LIBS) -lgcov"
-
-run_profile_task:
- : # FIXME: can't run for a cross build
- ./$(BUILDPYTHON) $(PROFILE_TASK)
-
-build_all_use_profile:
- $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use"
-
-coverage:
- @echo "Building with support for coverage checking:"
- $(MAKE) clean
- $(MAKE) all CFLAGS="$(CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov"
-
-
-# Build the interpreter
-$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
- $(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
- Modules/python.o \
- $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
-
-platform: $(BUILDPYTHON) pybuilddir.txt
- $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
-
-# Create build directory and generate the sysconfig build-time data there.
-# pybuilddir.txt contains the name of the build dir and is used for
-# sys.path fixup -- see Modules/getpath.c.
-pybuilddir.txt: $(BUILDPYTHON)
- $(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars
-
-# Build the shared modules
-# Under GNU make, MAKEFLAGS are sorted and normalized; the 's' for
-# -s, --silent or --quiet is always the first char.
-# Under BSD make, MAKEFLAGS might be " -s -v x=y".
-sharedmods: $(BUILDPYTHON) pybuilddir.txt
- @case "$$MAKEFLAGS" in \
- *\ -s*|s*) quiet="-q";; \
- *) quiet="";; \
- esac; \
- $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
-
-# Build static library
-# avoid long command lines, same as LIBRARY_OBJS
-$(LIBRARY): $(LIBRARY_OBJS)
- -rm -f $@
- $(AR) $(ARFLAGS) $@ Modules/getbuildinfo.o
- $(AR) $(ARFLAGS) $@ $(PARSER_OBJS)
- $(AR) $(ARFLAGS) $@ $(OBJECT_OBJS)
- $(AR) $(ARFLAGS) $@ $(PYTHON_OBJS)
- $(AR) $(ARFLAGS) $@ $(MODULE_OBJS) $(SIGNAL_OBJS)
- $(AR) $(ARFLAGS) $@ $(MODOBJS)
- $(RANLIB) $@
-
-libpython$(VERSION).so: $(LIBRARY_OBJS)
- if test $(INSTSONAME) != $(LDLIBRARY); then \
- $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
- $(LN) -f $(INSTSONAME) $@; \
- else \
- $(BLDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
- fi
-
-libpython$(VERSION).dylib: $(LIBRARY_OBJS)
- $(CC) -dynamiclib -Wl,-single_module $(LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(VERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-
-
-libpython$(VERSION).sl: $(LIBRARY_OBJS)
- $(LDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST)
-
-# Copy up the gdb python hooks into a position where they can be automatically
-# loaded by gdb during Lib/test/test_gdb.py
-#
-# Distributors are likely to want to install this somewhere else e.g. relative
-# to the stripped DWARF data for the shared library.
-gdbhooks: $(BUILDPYTHON)-gdb.py
-
-SRC_GDB_HOOKS=$(srcdir)/Tools/gdb/libpython.py
-$(BUILDPYTHON)-gdb.py: $(SRC_GDB_HOOKS)
- $(INSTALL_DATA) $(SRC_GDB_HOOKS) $(BUILDPYTHON)-gdb.py
-
-# This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary
-# minimal framework (not including the Lib directory and such) in the current
-# directory.
-RESSRCDIR=Mac/Resources/framework
-$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \
- $(LIBRARY) \
- $(RESSRCDIR)/Info.plist
- $(INSTALL) -d -m $(DIRMODE) $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)
- $(CC) -o $(LDLIBRARY) $(LDFLAGS) -dynamiclib \
- -all_load $(LIBRARY) -Wl,-single_module \
- -install_name $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK) \
- -compatibility_version $(VERSION) \
- -current_version $(VERSION);
- $(INSTALL) -d -m $(DIRMODE) \
- $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/English.lproj
- $(INSTALL_DATA) $(RESSRCDIR)/Info.plist \
- $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/Info.plist
- $(LN) -fsn $(VERSION) $(PYTHONFRAMEWORKDIR)/Versions/Current
- $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)
- $(LN) -fsn Versions/Current/Headers $(PYTHONFRAMEWORKDIR)/Headers
- $(LN) -fsn Versions/Current/Resources $(PYTHONFRAMEWORKDIR)/Resources
-
-# This rule builds the Cygwin Python DLL and import library if configured
-# for a shared core library; otherwise, this rule is a noop.
-$(DLLLIBRARY) libpython$(VERSION).dll.a: $(LIBRARY_OBJS)
- if test -n "$(DLLLIBRARY)"; then \
- $(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \
- $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST); \
- else true; \
- fi
-
-
-oldsharedmods: $(SHAREDMODS)
-
-
-Makefile Modules/config.c: Makefile.pre \
- $(srcdir)/Modules/config.c.in \
- $(MAKESETUP) \
- Modules/Setup.config \
- Modules/Setup \
- Modules/Setup.local
- $(SHELL) $(MAKESETUP) -c $(srcdir)/Modules/config.c.in \
- -s Modules \
- Modules/Setup.config \
- Modules/Setup.local \
- Modules/Setup
- @mv config.c Modules
- @echo "The Makefile was updated, you may need to re-run make."
-
-
-Modules/Setup: $(srcdir)/Modules/Setup.dist
- @if test -f Modules/Setup; then \
- echo "-----------------------------------------------"; \
- echo "Modules/Setup.dist is newer than Modules/Setup;"; \
- echo "check to make sure you have all the updates you"; \
- echo "need in your Modules/Setup file."; \
- echo "Usually, copying Modules/Setup.dist to Modules/Setup will work."; \
- echo "-----------------------------------------------"; \
- fi
-
-############################################################################
-# Special rules for object files
-
-Modules/getbuildinfo.o: $(PARSER_OBJS) \
- $(OBJECT_OBJS) \
- $(PYTHON_OBJS) \
- $(MODULE_OBJS) \
- $(SIGNAL_OBJS) \
- $(MODOBJS) \
- $(srcdir)/Modules/getbuildinfo.c
- $(CC) -c $(PY_CFLAGS) \
- -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" \
- -DHGVERSION="\"`LC_ALL=C $(HGVERSION)`\"" \
- -DHGTAG="\"`LC_ALL=C $(HGTAG)`\"" \
- -DHGBRANCH="\"`LC_ALL=C $(HGBRANCH)`\"" \
- -o $@ $(srcdir)/Modules/getbuildinfo.c
-
-Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
- $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
- -DPREFIX='"$(prefix)"' \
- -DEXEC_PREFIX='"$(exec_prefix)"' \
- -DVERSION='"$(VERSION)"' \
- -DVPATH='"$(VPATH)"' \
- -o $@ $(srcdir)/Modules/getpath.c
-
-Modules/python.o: $(srcdir)/Modules/python.c
- $(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c
-
-Modules/posixmodule.o: $(srcdir)/Modules/posixmodule.c $(srcdir)/Modules/posixmodule.h
-
-Modules/grpmodule.o: $(srcdir)/Modules/grpmodule.c $(srcdir)/Modules/posixmodule.h
-
-Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c $(srcdir)/Modules/posixmodule.h
-
-$(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS)
- @$(MKDIR_P) Include
- $(MAKE) $(PGEN)
- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
-$(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS)
- $(MAKE) $(GRAMMAR_H)
- touch $(GRAMMAR_C)
-
-$(PGEN): $(PGENOBJS)
- $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
-
-Parser/grammar.o: $(srcdir)/Parser/grammar.c \
- $(srcdir)/Include/token.h \
- $(srcdir)/Include/grammar.h
-Parser/metagrammar.o: $(srcdir)/Parser/metagrammar.c
-
-Parser/tokenizer_pgen.o: $(srcdir)/Parser/tokenizer.c
-
-Parser/pgenmain.o: $(srcdir)/Include/parsetok.h
-
-$(AST_H): $(AST_ASDL) $(ASDLGEN_FILES)
- $(MKDIR_P) $(AST_H_DIR)
- $(ASDLGEN) -h $(AST_H_DIR) $(AST_ASDL)
-
-$(AST_C): $(AST_ASDL) $(ASDLGEN_FILES)
- $(MKDIR_P) $(AST_C_DIR)
- $(ASDLGEN) -c $(AST_C_DIR) $(AST_ASDL)
-
-Python/compile.o Python/symtable.o Python/ast.o: $(GRAMMAR_H) $(AST_H)
-
-Python/getplatform.o: $(srcdir)/Python/getplatform.c
- $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
-
-Python/importdl.o: $(srcdir)/Python/importdl.c
- $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
-
-Objects/unicodectype.o: $(srcdir)/Objects/unicodectype.c \
- $(srcdir)/Objects/unicodetype_db.h
-
-STRINGLIB_HEADERS= \
- $(srcdir)/Include/bytes_methods.h \
- $(srcdir)/Objects/stringlib/count.h \
- $(srcdir)/Objects/stringlib/ctype.h \
- $(srcdir)/Objects/stringlib/fastsearch.h \
- $(srcdir)/Objects/stringlib/find.h \
- $(srcdir)/Objects/stringlib/formatter.h \
- $(srcdir)/Objects/stringlib/partition.h \
- $(srcdir)/Objects/stringlib/split.h \
- $(srcdir)/Objects/stringlib/stringdefs.h \
- $(srcdir)/Objects/stringlib/string_format.h \
- $(srcdir)/Objects/stringlib/transmogrify.h \
- $(srcdir)/Objects/stringlib/unicodedefs.h \
- $(srcdir)/Objects/stringlib/localeutil.h
-
-Objects/unicodeobject.o: $(srcdir)/Objects/unicodeobject.c \
- $(STRINGLIB_HEADERS)
-
-Objects/bytearrayobject.o: $(srcdir)/Objects/bytearrayobject.c \
- $(STRINGLIB_HEADERS)
-
-Objects/stringobject.o: $(srcdir)/Objects/stringobject.c \
- $(STRINGLIB_HEADERS)
-
-Python/formatter_unicode.o: $(srcdir)/Python/formatter_unicode.c \
- $(STRINGLIB_HEADERS)
-
-Python/formatter_string.o: $(srcdir)/Python/formatter_string.c \
- $(STRINGLIB_HEADERS)
-
-############################################################################
-# Header files
-
-PYTHON_HEADERS= \
- Include/Python-ast.h \
- Include/Python.h \
- Include/abstract.h \
- Include/asdl.h \
- Include/ast.h \
- Include/bitset.h \
- Include/boolobject.h \
- Include/bytearrayobject.h \
- Include/bytes_methods.h \
- Include/bytesobject.h \
- Include/bufferobject.h \
- Include/cellobject.h \
- Include/ceval.h \
- Include/classobject.h \
- Include/cobject.h \
- Include/code.h \
- Include/codecs.h \
- Include/compile.h \
- Include/complexobject.h \
- Include/descrobject.h \
- Include/dictobject.h \
- Include/dtoa.h \
- Include/enumobject.h \
- Include/errcode.h \
- Include/eval.h \
- Include/fileobject.h \
- Include/floatobject.h \
- Include/frameobject.h \
- Include/funcobject.h \
- Include/genobject.h \
- Include/import.h \
- Include/intobject.h \
- Include/intrcheck.h \
- Include/iterobject.h \
- Include/listobject.h \
- Include/longintrepr.h \
- Include/longobject.h \
- Include/marshal.h \
- Include/memoryobject.h \
- Include/metagrammar.h \
- Include/methodobject.h \
- Include/modsupport.h \
- Include/moduleobject.h \
- Include/node.h \
- Include/object.h \
- Include/objimpl.h \
- Include/opcode.h \
- Include/osdefs.h \
- Include/parsetok.h \
- Include/patchlevel.h \
- Include/pgen.h \
- Include/pgenheaders.h \
- Include/pyarena.h \
- Include/pycapsule.h \
- Include/pyctype.h \
- Include/pydebug.h \
- Include/pyerrors.h \
- Include/pyfpe.h \
- Include/pymath.h \
- Include/pygetopt.h \
- Include/pymem.h \
- Include/pyport.h \
- Include/pystate.h \
- Include/pystrcmp.h \
- Include/pystrtod.h \
- Include/pythonrun.h \
- Include/pythread.h \
- Include/rangeobject.h \
- Include/setobject.h \
- Include/sliceobject.h \
- Include/stringobject.h \
- Include/structmember.h \
- Include/structseq.h \
- Include/symtable.h \
- Include/sysmodule.h \
- Include/traceback.h \
- Include/tupleobject.h \
- Include/ucnhash.h \
- Include/unicodeobject.h \
- Include/warnings.h \
- Include/weakrefobject.h \
- pyconfig.h \
- $(PARSER_HEADERS)
-
-$(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS)
-
-
-######################################################################
-
-# Test the interpreter (twice, once without .pyc files, once with)
-# In the past, we've had problems where bugs in the marshalling or
-# elsewhere caused bytecode read from .pyc files to behave differently
-# than bytecode generated directly from a .py source file. Sometimes
-# the bytecode read from a .pyc file had the bug, sometimes the directly
-# generated bytecode. This is sometimes a very shy bug needing a lot of
-# sample data.
-
-TESTOPTS= -l $(EXTRATESTOPTS)
-TESTPROG= $(srcdir)/Lib/test/regrtest.py
-TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -Wd -3 -E -tt $(TESTPYTHONOPTS)
-test: all platform
- -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
- -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
- $(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
-
-testall: all platform
- -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
- $(TESTPYTHON) $(srcdir)/Lib/compileall.py
- -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
- -$(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS)
- $(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS)
-
-# Run the unitests for both architectures in a Universal build on OSX
-# Must be run on an Intel box.
-testuniversal: all platform
- if [ `arch` != 'i386' ];then \
- echo "This can only be used on OSX/i386" ;\
- exit 1 ;\
- fi
- -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
- -$(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS)
- $(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS)
- $(RUNSHARED) /usr/libexec/oah/translate ./$(BUILDPYTHON) -E -tt $(TESTPROG) -uall $(TESTOPTS)
-
-
-# Like testall, but with a single pass only
-# run an optional script to include some information about the build environment
-buildbottest: all platform
- -@if which pybuildbot.identify >/dev/null 2>&1; then \
- pybuildbot.identify "CC='$(CC)'" "CXX='$(CXX)'"; \
- fi
- $(TESTPYTHON) -R $(TESTPROG) -uall -rwW $(TESTOPTS)
-
-QUICKTESTOPTS= $(TESTOPTS) -x test_subprocess test_io test_lib2to3 \
- test_multibytecodec test_urllib2_localnet test_itertools \
- test_multiprocessing test_mailbox test_socket test_poll \
- test_select test_zipfile
-quicktest: all platform
- -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
- -$(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS)
- $(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS)
-
-MEMTESTOPTS= $(QUICKTESTOPTS) -x test_dl test___all__ test_fork1 \
- test_longexp
-memtest: all platform
- -rm -f $(srcdir)/Lib/test/*.py[co]
- -$(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
- $(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
-
-# Install everything
-install: frameworkinstallstructure altinstall bininstall maninstall frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools
-
-# Install almost everything without disturbing previous versions
-altinstall: frameworkinstallstructure bininstall maninstall altbininstall libinstall inclinstall \
- libainstall altmaninstall \
- sharedinstall oldsharedinstall frameworkinstallmaclib frameworkinstallapps frameworkaltinstallunixtools
-
-# Install shared libraries enabled by Setup
-DESTDIRS= $(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED)
-
-oldsharedinstall: $(DESTSHARED) $(SHAREDMODS)
- @for i in X $(SHAREDMODS); do \
- if test $$i != X; then \
- echo $(INSTALL_SHARED) $$i $(DESTSHARED)/`basename $$i`; \
- $(INSTALL_SHARED) $$i $(DESTDIR)$(DESTSHARED)/`basename $$i`; \
- fi; \
- done
-
-$(DESTSHARED):
- @for i in $(DESTDIRS); \
- do \
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
-
-
-# Install the interpreter by creating a symlink chain:
-# $(PYTHON) -> python2 -> python$(VERSION))
-# Also create equivalent chains for other installed files
-bininstall: altbininstall
- -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \
- then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
- else true; \
- fi
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON))
- -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE)
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE))
- -rm -f $(DESTDIR)$(BINDIR)/python2-config
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python2-config)
- -rm -f $(DESTDIR)$(BINDIR)/python-config
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2-config python-config)
- -test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC)
- -rm -f $(DESTDIR)$(LIBPC)/python2.pc
- (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python2.pc)
- -rm -f $(DESTDIR)$(LIBPC)/python.pc
- (cd $(DESTDIR)$(LIBPC); $(LN) -s python2.pc python.pc)
-
-# Install the interpreter with $(VERSION) affixed
-# This goes into $(exec_prefix)
-altbininstall: $(BUILDPYTHON)
- @for i in $(BINDIR) $(LIBDIR); \
- do \
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
- $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE)
- if test -f $(LDLIBRARY); then \
- if test -n "$(DLLLIBRARY)" ; then \
- $(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
- else \
- $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
- if test $(LDLIBRARY) != $(INSTSONAME); then \
- (cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \
- fi \
- fi; \
- else true; \
- fi
-
-# Install the versioned manual page
-altmaninstall:
- @for i in $(MANDIR) $(MANDIR)/man1; \
- do \
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
- $(INSTALL_DATA) $(srcdir)/Misc/python.man \
- $(DESTDIR)$(MANDIR)/man1/python$(VERSION).1
-
-# Install the unversioned manual pages
-maninstall: altmaninstall
- -rm -f $(DESTDIR)$(MANDIR)/man1/python2.1
- (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python$(VERSION).1 python2.1)
- -rm -f $(DESTDIR)$(MANDIR)/man1/python.1
- (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python2.1 python.1)
-
-# Install the library
-PLATDIR= plat-$(MACHDEP)
-EXTRAPLATDIR= $(PLATMACDIRS)
-EXTRAMACHDEPPATH=$(PLATMACPATH)
-MACHDEPS= $(PLATDIR) $(EXTRAPLATDIR)
-XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
-PLATMACDIRS= plat-mac plat-mac/Carbon plat-mac/lib-scriptpackages \
- plat-mac/lib-scriptpackages/_builtinSuites \
- plat-mac/lib-scriptpackages/CodeWarrior \
- plat-mac/lib-scriptpackages/Explorer \
- plat-mac/lib-scriptpackages/Finder \
- plat-mac/lib-scriptpackages/Netscape \
- plat-mac/lib-scriptpackages/StdSuites \
- plat-mac/lib-scriptpackages/SystemEvents \
- plat-mac/lib-scriptpackages/Terminal
-PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages
-LIBSUBDIRS= lib-tk lib-tk/test lib-tk/test/test_tkinter \
- lib-tk/test/test_ttk site-packages test test/data \
- test/cjkencodings test/decimaltestdata test/xmltestdata test/subprocessdata \
- test/tracedmodules \
- encodings compiler hotshot \
- email email/mime email/test email/test/data \
- json json/tests \
- sqlite3 sqlite3/test \
- logging bsddb bsddb/test csv importlib wsgiref \
- lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \
- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \
- ctypes ctypes/test ctypes/macholib idlelib idlelib/Icons \
- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \
- multiprocessing multiprocessing/dummy \
- unittest unittest/test \
- lib-old \
- curses pydoc_data $(MACHDEPS)
-libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
- @for i in $(SCRIPTDIR) $(LIBDEST); \
- do \
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
- @for d in $(LIBSUBDIRS); \
- do \
- a=$(srcdir)/Lib/$$d; \
- if test ! -d $$a; then continue; else true; fi; \
- b=$(LIBDEST)/$$d; \
- if test ! -d $(DESTDIR)$$b; then \
- echo "Creating directory $$b"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$b; \
- else true; \
- fi; \
- done
- @for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \
- do \
- if test -x $$i; then \
- $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \
- echo $(INSTALL_SCRIPT) $$i $(LIBDEST); \
- else \
- $(INSTALL_DATA) $$i $(DESTDIR)$(LIBDEST); \
- echo $(INSTALL_DATA) $$i $(LIBDEST); \
- fi; \
- done
- @for d in $(LIBSUBDIRS); \
- do \
- a=$(srcdir)/Lib/$$d; \
- if test ! -d $$a; then continue; else true; fi; \
- if test `ls $$a | wc -l` -lt 1; then continue; fi; \
- b=$(LIBDEST)/$$d; \
- for i in $$a/*; \
- do \
- case $$i in \
- *CVS) ;; \
- *.py[co]) ;; \
- *.orig) ;; \
- *~) ;; \
- *) \
- if test -d $$i; then continue; fi; \
- if test -x $$i; then \
- echo $(INSTALL_SCRIPT) $$i $$b; \
- $(INSTALL_SCRIPT) $$i $(DESTDIR)$$b; \
- else \
- echo $(INSTALL_DATA) $$i $$b; \
- $(INSTALL_DATA) $$i $(DESTDIR)$$b; \
- fi;; \
- esac; \
- done; \
- done
- $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
- if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \
- $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
- $(DESTDIR)$(LIBDEST)/distutils/tests ; \
- fi
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
-
-# Create the PLATDIR source directory, if one wasn't distributed..
-$(srcdir)/Lib/$(PLATDIR):
- mkdir $(srcdir)/Lib/$(PLATDIR)
- cp $(srcdir)/Lib/plat-generic/regen $(srcdir)/Lib/$(PLATDIR)/regen
- export PATH; PATH="`pwd`:$$PATH"; \
- export PYTHONPATH; PYTHONPATH="$(srcdir)/Lib:$(abs_builddir)/`cat pybuilddir.txt`"; \
- export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
- export EXE; EXE="$(BUILDEXE)"; \
- if [ -n "$(MULTIARCH)" ]; then export MULTIARCH; MULTIARCH=$(MULTIARCH); fi; \
- export PYTHON_FOR_BUILD; \
- if [ "$(build)" = "$(host)" ]; then \
- PYTHON_FOR_BUILD="$(BUILDPYTHON)"; \
- else \
- PYTHON_FOR_BUILD="$(PYTHON_FOR_BUILD)"; \
- fi; \
- cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen
-
-python-config: $(srcdir)/Misc/python-config.in
- # Substitution happens here, as the completely-expanded BINDIR
- # is not available in configure
- sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config
-
-# Install the include files
-INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
-inclinstall:
- @for i in $(INCLDIRSTOMAKE); \
- do \
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
- @for i in $(srcdir)/Include/*.h; \
- do \
- echo $(INSTALL_DATA) $$i $(INCLUDEPY); \
- $(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY); \
- done
- $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
-
-# Install the library and miscellaneous stuff needed for extending/embedding
-# This goes into $(exec_prefix)
-LIBPL= $(LIBP)/config
-
-# pkgconfig directory
-LIBPC= $(LIBDIR)/pkgconfig
-
-libainstall: all python-config
- @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \
- do \
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
- @if test -d $(LIBRARY); then :; else \
- if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
- if test "$(SO)" = .dll; then \
- $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \
- else \
- $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
- $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
- fi; \
- else \
- echo Skip install of $(LIBRARY) - use make frameworkinstall; \
- fi; \
- fi
- $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c
- $(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o
- $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
- $(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile
- $(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
- $(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
- $(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config
- $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc
- $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
- $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
- $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config
- rm python-config
- @if [ -s Modules/python.exp -a \
- "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
- echo; echo "Installing support files for building shared extension modules on AIX:"; \
- $(INSTALL_DATA) Modules/python.exp \
- $(DESTDIR)$(LIBPL)/python.exp; \
- echo; echo "$(LIBPL)/python.exp"; \
- $(INSTALL_SCRIPT) $(srcdir)/Modules/makexp_aix \
- $(DESTDIR)$(LIBPL)/makexp_aix; \
- echo "$(LIBPL)/makexp_aix"; \
- $(INSTALL_SCRIPT) $(srcdir)/Modules/ld_so_aix \
- $(DESTDIR)$(LIBPL)/ld_so_aix; \
- echo "$(LIBPL)/ld_so_aix"; \
- echo; echo "See Misc/AIX-NOTES for details."; \
- else true; \
- fi
- @case "$(MACHDEP)" in beos*) \
- echo; echo "Installing support files for building shared extension modules on BeOS:"; \
- $(INSTALL_DATA) Misc/BeOS-NOTES $(DESTDIR)$(LIBPL)/README; \
- echo; echo "$(LIBPL)/README"; \
- $(INSTALL_SCRIPT) Modules/ar_beos $(DESTDIR)$(LIBPL)/ar_beos; \
- echo "$(LIBPL)/ar_beos"; \
- $(INSTALL_SCRIPT) Modules/ld_so_beos $(DESTDIR)$(LIBPL)/ld_so_beos; \
- echo "$(LIBPL)/ld_so_beos"; \
- echo; echo "See Misc/BeOS-NOTES for details."; \
- ;; \
- esac
-
-# Install the dynamically loadable modules
-# This goes into $(exec_prefix)
-sharedinstall: sharedmods
- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
- --prefix=$(prefix) \
- --install-scripts=$(BINDIR) \
- --install-platlib=$(DESTSHARED) \
- --root=$(DESTDIR)/
- -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata.py*
-
-# Here are a couple of targets for MacOSX again, to install a full
-# framework-based Python. frameworkinstall installs everything, the
-# subtargets install specific parts. Much of the actual work is offloaded to
-# the Makefile in Mac
-#
-#
-# This target is here for backward compatiblity, previous versions of Python
-# hadn't integrated framework installation in the normal install process.
-frameworkinstall: install
-
-# On install, we re-make the framework
-# structure in the install location, /Library/Frameworks/ or the argument to
-# --enable-framework. If --enable-framework has been specified then we have
-# automatically set prefix to the location deep down in the framework, so we
-# only have to cater for the structural bits of the framework.
-
-frameworkinstallframework: frameworkinstallstructure install frameworkinstallmaclib
-
-frameworkinstallstructure: $(LDLIBRARY)
- @if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
- echo Not configured with --enable-framework; \
- exit 1; \
- else true; \
- fi
- @for i in $(prefix)/Resources/English.lproj $(prefix)/lib; do\
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $(DESTDIR)$$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
- $(LN) -fsn include/python$(VERSION) $(DESTDIR)$(prefix)/Headers
- sed 's/%VERSION%/'"`$(RUNSHARED) ./$(BUILDPYTHON) -c 'import platform; print platform.python_version()'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist
- $(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current
- $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/$(PYTHONFRAMEWORK)
- $(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers
- $(LN) -fsn Versions/Current/Resources $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Resources
- $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(PYTHONFRAMEWORKPREFIX)/$(LDLIBRARY)
-
-# This installs Mac/Lib into the framework
-# Install a number of symlinks to keep software that expects a normal unix
-# install (which includes python-config) happy.
-frameworkinstallmaclib:
- ln -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/python$(VERSION)/config/libpython$(VERSION).a"
- ln -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/python$(VERSION)/config/libpython$(VERSION).dylib"
- ln -fs "../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/libpython$(VERSION).dylib"
- cd Mac && $(MAKE) installmacsubtree DESTDIR="$(DESTDIR)"
-
-# This installs the IDE, the Launcher and other apps into /Applications
-frameworkinstallapps:
- cd Mac && $(MAKE) installapps DESTDIR="$(DESTDIR)"
-
-# This install the unix python and pythonw tools in /usr/local/bin
-frameworkinstallunixtools:
- cd Mac && $(MAKE) installunixtools DESTDIR="$(DESTDIR)"
-
-frameworkaltinstallunixtools:
- cd Mac && $(MAKE) altinstallunixtools DESTDIR="$(DESTDIR)"
-
-# This installs the Demos and Tools into the applications directory.
-# It is not part of a normal frameworkinstall
-frameworkinstallextras:
- cd Mac && $(MAKE) installextras DESTDIR="$(DESTDIR)"
-
-# This installs a few of the useful scripts in Tools/scripts
-scriptsinstall:
- SRCDIR=$(srcdir) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/setup.py install \
- --prefix=$(prefix) \
- --install-scripts=$(BINDIR) \
- --root=$(DESTDIR)/
-
-# Build the toplevel Makefile
-Makefile.pre: Makefile.pre.in config.status
- CONFIG_FILES=Makefile.pre CONFIG_HEADERS= $(SHELL) config.status
- $(MAKE) -f Makefile.pre Makefile
-
-# Run the configure script.
-config.status: $(srcdir)/configure
- $(SHELL) $(srcdir)/configure $(CONFIG_ARGS)
-
-.PRECIOUS: config.status $(BUILDPYTHON) Makefile Makefile.pre
-
-# Some make's put the object file in the current directory
-.c.o:
- $(CC) -c $(PY_CFLAGS) -o $@ $<
-
-# Run reindent on the library
-reindent:
- ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib
-
-# Rerun configure with the same options as it was run last time,
-# provided the config.status script exists
-recheck:
- $(SHELL) config.status --recheck
- $(SHELL) config.status
-
-# Rebuild the configure script from configure.ac; also rebuild pyconfig.h.in
-autoconf:
- (cd $(srcdir); autoconf)
- (cd $(srcdir); autoheader)
-
-# Create a tags file for vi
-tags::
- cd $(srcdir); \
- ctags -w -t Include/*.h; \
- for i in $(SRCDIRS); do ctags -w -t -a $$i/*.[ch]; \
- done; \
- sort -o tags tags
-
-# Create a tags file for GNU Emacs
-TAGS::
- cd $(srcdir); \
- etags Include/*.h; \
- for i in $(SRCDIRS); do etags -a $$i/*.[ch]; done
-
-# Touch generated files
-touch:
- touch Include/Python-ast.h Python/Python-ast.c
-
-# Sanitation targets -- clean leaves libraries, executables and tags
-# files, which clobber removes as well
-pycremoval:
- find $(srcdir) -name '*.py[co]' -exec rm -f {} ';'
-
-clean: pycremoval
- find . -name '*.[oa]' -exec rm -f {} ';'
- find . -name '*.s[ol]' -exec rm -f {} ';'
- find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
- find build -name 'fficonfig.h' -exec rm -f {} ';' || true
- find build -name 'fficonfig.py' -exec rm -f {} ';' || true
- -rm -f Lib/lib2to3/*Grammar*.pickle
-
-profile-removal:
- find . -name '*.gc??' -exec rm -f {} ';'
-
-clobber: clean profile-removal
- -rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
- tags TAGS \
- config.cache config.log pyconfig.h Modules/config.c
- -rm -rf build platform
- -rm -rf $(PYTHONFRAMEWORKDIR)
-
-# Make things extra clean, before making a distribution:
-# remove all generated files, even Makefile[.pre]
-# Keep configure and Python-ast.[ch], it's possible they can't be generated
-distclean: clobber
- for file in Lib/test/data/* ; do \
- if test "$$file" != "Lib/test/data/README"; then rm "$$file"; fi; \
- done
- -rm -f core Makefile Makefile.pre config.status \
- Modules/Setup Modules/Setup.local Modules/Setup.config \
- Modules/ld_so_aix Modules/python.exp Misc/python.pc
- -rm -f python*-gdb.py
- -rm -f pybuilddir.txt
- find $(srcdir) '(' -name '*.fdc' -o -name '*~' \
- -o -name '[@,#]*' -o -name '*.old' \
- -o -name '*.orig' -o -name '*.rej' \
- -o -name '*.bak' ')' \
- -exec rm -f {} ';'
-
-# Check for smelly exported symbols (not starting with Py/_Py)
-smelly: all
- nm -p $(LIBRARY) | \
- sed -n "/ [TDB] /s/.* //p" | grep -v "^_*Py" | sort -u; \
-
-# Find files with funny names
-funny:
- find $(SUBDIRS) $(SUBDIRSTOO) -type d \
- -o -name '*.[chs]' \
- -o -name '*.py' \
- -o -name '*.doc' \
- -o -name '*.sty' \
- -o -name '*.bib' \
- -o -name '*.dat' \
- -o -name '*.el' \
- -o -name '*.fd' \
- -o -name '*.in' \
- -o -name '*.tex' \
- -o -name '*,[vpt]' \
- -o -name 'Setup' \
- -o -name 'Setup.*' \
- -o -name README \
- -o -name Makefile \
- -o -name ChangeLog \
- -o -name Repository \
- -o -name Root \
- -o -name Entries \
- -o -name Tag \
- -o -name tags \
- -o -name TAGS \
- -o -name .cvsignore \
- -o -name MANIFEST \
- -o -print
-
-# Perform some verification checks on any modified files.
-patchcheck:
- $(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py
-
-# Dependencies
-
-Python/thread.o: $(srcdir)/Python/thread_atheos.h $(srcdir)/Python/thread_beos.h $(srcdir)/Python/thread_cthread.h $(srcdir)/Python/thread_foobar.h $(srcdir)/Python/thread_lwp.h $(srcdir)/Python/thread_nt.h $(srcdir)/Python/thread_os2.h $(srcdir)/Python/thread_pth.h $(srcdir)/Python/thread_pthread.h $(srcdir)/Python/thread_sgi.h $(srcdir)/Python/thread_solaris.h $(srcdir)/Python/thread_wince.h
-
-# Declare targets that aren't real files
-.PHONY: all build_all sharedmods oldsharedmods test quicktest memtest
-.PHONY: install altinstall oldsharedinstall bininstall altbininstall
-.PHONY: maninstall libinstall inclinstall libainstall sharedinstall
-.PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure
-.PHONY: frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools
-.PHONY: frameworkaltinstallunixtools recheck autoconf clean clobber distclean
-.PHONY: smelly funny patchcheck touch altmaninstall
-.PHONY: gdbhooks
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
-
-# Rules appended by makedepend
-
-Modules/threadmodule.o: $(srcdir)/Modules/threadmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/threadmodule.c -o Modules/threadmodule.o
-Modules/threadmodule$(SO): Modules/threadmodule.o; $(BLDSHARED) Modules/threadmodule.o -o Modules/threadmodule$(SO)
-Modules/signalmodule.o: $(srcdir)/Modules/signalmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/signalmodule.c -o Modules/signalmodule.o
-Modules/signalmodule$(SO): Modules/signalmodule.o; $(BLDSHARED) Modules/signalmodule.o -o Modules/signalmodule$(SO)
-Modules/posixmodule.o: $(srcdir)/Modules/posixmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/posixmodule.c -o Modules/posixmodule.o
-Modules/posixmodule$(SO): Modules/posixmodule.o; $(BLDSHARED) Modules/posixmodule.o -o Modules/posixmodule$(SO)
-Modules/errnomodule.o: $(srcdir)/Modules/errnomodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/errnomodule.c -o Modules/errnomodule.o
-Modules/errnomodule$(SO): Modules/errnomodule.o; $(BLDSHARED) Modules/errnomodule.o -o Modules/errnomodule$(SO)
-Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/pwdmodule.c -o Modules/pwdmodule.o
-Modules/pwdmodule$(SO): Modules/pwdmodule.o; $(BLDSHARED) Modules/pwdmodule.o -o Modules/pwdmodule$(SO)
-Modules/_sre.o: $(srcdir)/Modules/_sre.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_sre.c -o Modules/_sre.o
-Modules/_sre$(SO): Modules/_sre.o; $(BLDSHARED) Modules/_sre.o -o Modules/_sre$(SO)
-Modules/_codecsmodule.o: $(srcdir)/Modules/_codecsmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_codecsmodule.c -o Modules/_codecsmodule.o
-Modules/_codecsmodule$(SO): Modules/_codecsmodule.o; $(BLDSHARED) Modules/_codecsmodule.o -o Modules/_codecsmodule$(SO)
-Modules/_weakref.o: $(srcdir)/Modules/_weakref.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_weakref.c -o Modules/_weakref.o
-Modules/_weakref$(SO): Modules/_weakref.o; $(BLDSHARED) Modules/_weakref.o -o Modules/_weakref$(SO)
-Modules/zipimport.o: $(srcdir)/Modules/zipimport.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/zipimport.c -o Modules/zipimport.o
-Modules/zipimport$(SO): Modules/zipimport.o; $(BLDSHARED) Modules/zipimport.o -o Modules/zipimport$(SO)
-Modules/symtablemodule.o: $(srcdir)/Modules/symtablemodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/symtablemodule.c -o Modules/symtablemodule.o
-Modules/_symtablemodule$(SO): Modules/symtablemodule.o; $(BLDSHARED) Modules/symtablemodule.o -o Modules/_symtablemodule$(SO)
-Modules/xxsubtype.o: $(srcdir)/Modules/xxsubtype.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/xxsubtype.c -o Modules/xxsubtype.o
-Modules/xxsubtype$(SO): Modules/xxsubtype.o; $(BLDSHARED) Modules/xxsubtype.o -o Modules/xxsubtype$(SO)
diff --git a/FeedTheMonkey.app/Contents/Frameworks/Python.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/Python.framework/Versions/Current
deleted file mode 120000
index e6b7b62..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/Python.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-2.7
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/Contents/Info.plist b/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/Contents/Info.plist
deleted file mode 100644
index 967cf94..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/Contents/Info.plist
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 4.8
- CFBundleGetInfoString
- Created by Qt/QMake
- CFBundleSignature
- ????
- CFBundleExecutable
- QtCore
- NOTE
- Please, do NOT change this file -- It was generated by Qt/QMake.
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/QtCore b/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/QtCore
deleted file mode 120000
index a002a13..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/QtCore
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/QtCore
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/QtCore.prl b/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/QtCore.prl
deleted file mode 100644
index 75e5e9a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/QtCore.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/corelib
-QMAKE_PRO_INPUT = corelib.pro
-QMAKE_PRL_TARGET = QtCore
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/QtCore_debug.prl b/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/QtCore_debug.prl
deleted file mode 100644
index fe18def..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/QtCore_debug.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/corelib
-QMAKE_PRO_INPUT = corelib.pro
-QMAKE_PRL_TARGET = QtCore_debug
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/Versions/4/QtCore b/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/Versions/4/QtCore
deleted file mode 100644
index 0bfaebc..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/Versions/4/QtCore and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/Versions/Current
deleted file mode 120000
index bf0d87a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/Contents/Info.plist b/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/Contents/Info.plist
deleted file mode 100644
index b50df06..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/Contents/Info.plist
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 4.8
- CFBundleGetInfoString
- Created by Qt/QMake
- CFBundleSignature
- ????
- CFBundleExecutable
- QtDeclarative
- NOTE
- Please, do NOT change this file -- It was generated by Qt/QMake.
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/QtDeclarative b/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/QtDeclarative
deleted file mode 120000
index 01eff38..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/QtDeclarative
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/QtDeclarative
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/QtDeclarative.prl b/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/QtDeclarative.prl
deleted file mode 100644
index 822d883..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/QtDeclarative.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/src/declarative/
-QMAKE_PRO_INPUT = declarative.pro
-QMAKE_PRL_TARGET = QtDeclarative
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtScript -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -framework QtSvg -framework QtGui -framework QtSql -framework QtXmlPatterns -framework QtNetwork
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/QtDeclarative_debug.prl b/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/QtDeclarative_debug.prl
deleted file mode 100644
index ba919af..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/QtDeclarative_debug.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/src/declarative/
-QMAKE_PRO_INPUT = declarative.pro
-QMAKE_PRL_TARGET = QtDeclarative_debug
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtScript -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -framework QtSvg -framework QtGui -framework QtSql -framework QtXmlPatterns -framework QtNetwork
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/Versions/4/QtDeclarative b/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/Versions/4/QtDeclarative
deleted file mode 100644
index 41656fe..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/Versions/4/QtDeclarative and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/Versions/Current
deleted file mode 120000
index bf0d87a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtDeclarative.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Contents/Info.plist b/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Contents/Info.plist
deleted file mode 100644
index fd43fbd..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Contents/Info.plist
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 4.8
- CFBundleGetInfoString
- Created by Qt/QMake
- CFBundleSignature
- ????
- CFBundleExecutable
- QtGui
- NOTE
- Please, do NOT change this file -- It was generated by Qt/QMake.
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/QtGui b/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/QtGui
deleted file mode 120000
index 6fe6929..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/QtGui
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/QtGui
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/QtGui.prl b/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/QtGui.prl
deleted file mode 100644
index d1ad6f8..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/QtGui.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/gui
-QMAKE_PRO_INPUT = gui.pro
-QMAKE_PRL_TARGET = QtGui
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/QtGui_debug.prl b/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/QtGui_debug.prl
deleted file mode 100644
index d2e8e86..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/QtGui_debug.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/gui
-QMAKE_PRO_INPUT = gui.pro
-QMAKE_PRL_TARGET = QtGui_debug
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Resources b/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Resources
deleted file mode 120000
index d716e79..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Resources
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/Resources
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui b/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui
deleted file mode 100644
index 5bfd0a5..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/classes.nib b/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/classes.nib
deleted file mode 100644
index 0031e0e..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/classes.nib
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
- IBClasses
-
-
- ACTIONS
-
- hide
- id
- hideOtherApplications
- id
- orderFrontStandardAboutPanel
- id
- qtDispatcherToQAction
- id
- terminate
- id
- unhideAllApplications
- id
-
- CLASS
- QCocoaMenuLoader
- LANGUAGE
- ObjC
- OUTLETS
-
- aboutItem
- NSMenuItem
- aboutQtItem
- NSMenuItem
- appMenu
- NSMenu
- hideItem
- NSMenuItem
- preferencesItem
- NSMenuItem
- quitItem
- NSMenuItem
- theMenu
- NSMenu
-
- SUPERCLASS
- NSResponder
-
-
- CLASS
- FirstResponder
- LANGUAGE
- ObjC
- SUPERCLASS
- NSObject
-
-
- IBVersion
- 1
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/info.nib b/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/info.nib
deleted file mode 100644
index 02e5cca..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/info.nib
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- IBFramework Version
- 672
- IBOldestOS
- 5
- IBOpenObjects
-
- 57
-
- IBSystem Version
- 9L31a
- targetFramework
- IBCocoaFramework
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/keyedobjects.nib b/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/keyedobjects.nib
deleted file mode 100644
index 67207ca..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/keyedobjects.nib and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/Current
deleted file mode 120000
index bf0d87a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/Contents/Info.plist b/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/Contents/Info.plist
deleted file mode 100644
index 33ec1a7..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/Contents/Info.plist
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 4.8
- CFBundleGetInfoString
- Created by Qt/QMake
- CFBundleSignature
- ????
- CFBundleExecutable
- QtHelp
- NOTE
- Please, do NOT change this file -- It was generated by Qt/QMake.
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/QtHelp b/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/QtHelp
deleted file mode 120000
index b639360..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/QtHelp
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/QtHelp
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/QtHelp.prl b/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/QtHelp.prl
deleted file mode 100644
index 8b237d6..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/QtHelp.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./tools/assistant/lib
-QMAKE_PRO_INPUT = lib.pro
-QMAKE_PRL_TARGET = QtHelp
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtSql -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -framework QtGui -framework QtNetwork
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/QtHelp_debug.prl b/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/QtHelp_debug.prl
deleted file mode 100644
index 7e9aa3d..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/QtHelp_debug.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./tools/assistant/lib
-QMAKE_PRO_INPUT = lib.pro
-QMAKE_PRL_TARGET = QtHelp_debug
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt warn_on qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtSql -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -framework QtGui -framework QtNetwork
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/Versions/4/QtHelp b/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/Versions/4/QtHelp
deleted file mode 100644
index a30667f..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/Versions/4/QtHelp and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/Versions/Current
deleted file mode 120000
index bf0d87a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/Contents/Info.plist b/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/Contents/Info.plist
deleted file mode 100644
index 1196ad9..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/Contents/Info.plist
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 4.8
- CFBundleGetInfoString
- Created by Qt/QMake
- CFBundleSignature
- ????
- CFBundleExecutable
- QtMultimedia
- NOTE
- Please, do NOT change this file -- It was generated by Qt/QMake.
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/QtMultimedia b/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/QtMultimedia
deleted file mode 120000
index 6141cfe..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/QtMultimedia
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/QtMultimedia
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/QtMultimedia.prl b/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/QtMultimedia.prl
deleted file mode 100644
index ec891a1..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/QtMultimedia.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/multimedia
-QMAKE_PRO_INPUT = multimedia.pro
-QMAKE_PRL_TARGET = QtMultimedia
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework ApplicationServices -framework CoreAudio -framework AudioUnit -framework AudioToolbox -framework QtGui -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/QtMultimedia_debug.prl b/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/QtMultimedia_debug.prl
deleted file mode 100644
index e746785..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/QtMultimedia_debug.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/multimedia
-QMAKE_PRO_INPUT = multimedia.pro
-QMAKE_PRL_TARGET = QtMultimedia_debug
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework ApplicationServices -framework CoreAudio -framework AudioUnit -framework AudioToolbox -framework QtGui -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/Versions/4/QtMultimedia b/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/Versions/4/QtMultimedia
deleted file mode 100644
index a22c304..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/Versions/4/QtMultimedia and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/Versions/Current
deleted file mode 120000
index bf0d87a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtMultimedia.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/Contents/Info.plist b/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/Contents/Info.plist
deleted file mode 100644
index e36265c..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/Contents/Info.plist
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 4.8
- CFBundleGetInfoString
- Created by Qt/QMake
- CFBundleSignature
- ????
- CFBundleExecutable
- QtNetwork
- NOTE
- Please, do NOT change this file -- It was generated by Qt/QMake.
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/QtNetwork b/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/QtNetwork
deleted file mode 120000
index 1c38727..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/QtNetwork
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/QtNetwork
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/QtNetwork.prl b/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/QtNetwork.prl
deleted file mode 100644
index 8aedb47..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/QtNetwork.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/network
-QMAKE_PRO_INPUT = network.pro
-QMAKE_PRL_TARGET = QtNetwork
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/QtNetwork_debug.prl b/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/QtNetwork_debug.prl
deleted file mode 100644
index 2359e88..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/QtNetwork_debug.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/network
-QMAKE_PRO_INPUT = network.pro
-QMAKE_PRL_TARGET = QtNetwork_debug
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork b/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork
deleted file mode 100644
index 91b5f3a..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/Versions/Current
deleted file mode 120000
index bf0d87a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtNetwork.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/Contents/Info.plist b/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/Contents/Info.plist
deleted file mode 100644
index fa25169..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/Contents/Info.plist
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 4.8
- CFBundleGetInfoString
- Created by Qt/QMake
- CFBundleSignature
- ????
- CFBundleExecutable
- QtScript
- NOTE
- Please, do NOT change this file -- It was generated by Qt/QMake.
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/QtScript b/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/QtScript
deleted file mode 120000
index 28a40f4..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/QtScript
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/QtScript
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/QtScript.prl b/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/QtScript.prl
deleted file mode 100644
index b5ddb75..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/QtScript.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/script
-QMAKE_PRO_INPUT = script.pro
-QMAKE_PRL_TARGET = QtScript
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc uic resources sdk rez release ReleaseBuild Release build_pass qt release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib building-libs standalone_package depend_includepath release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/QtScript_debug.prl b/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/QtScript_debug.prl
deleted file mode 100644
index 719782a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/QtScript_debug.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/script
-QMAKE_PRO_INPUT = script.pro
-QMAKE_PRL_TARGET = QtScript_debug
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc debug uic resources sdk rez debug DebugBuild Debug build_pass qt app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib building-libs standalone_package depend_includepath debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/Versions/4/QtScript b/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/Versions/4/QtScript
deleted file mode 100644
index 5d71872..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/Versions/4/QtScript and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/Versions/Current
deleted file mode 120000
index bf0d87a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtScript.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/Contents/Info.plist b/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/Contents/Info.plist
deleted file mode 100644
index 9b2d1af..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/Contents/Info.plist
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 4.8
- CFBundleGetInfoString
- Created by Qt/QMake
- CFBundleSignature
- ????
- CFBundleExecutable
- QtScriptTools
- NOTE
- Please, do NOT change this file -- It was generated by Qt/QMake.
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/QtScriptTools b/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/QtScriptTools
deleted file mode 120000
index 9e7de17..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/QtScriptTools
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/QtScriptTools
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/QtScriptTools.prl b/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/QtScriptTools.prl
deleted file mode 100644
index e7c0620..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/QtScriptTools.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/scripttools
-QMAKE_PRO_INPUT = scripttools.pro
-QMAKE_PRL_TARGET = QtScriptTools
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtScript -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -framework QtGui
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/QtScriptTools_debug.prl b/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/QtScriptTools_debug.prl
deleted file mode 100644
index 0178e17..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/QtScriptTools_debug.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/scripttools
-QMAKE_PRO_INPUT = scripttools.pro
-QMAKE_PRL_TARGET = QtScriptTools_debug
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtScript -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -framework QtGui
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/Versions/4/QtScriptTools b/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/Versions/4/QtScriptTools
deleted file mode 100644
index 48fb586..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/Versions/4/QtScriptTools and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/Versions/Current
deleted file mode 120000
index bf0d87a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtScriptTools.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/Contents/Info.plist b/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/Contents/Info.plist
deleted file mode 100644
index 14661e9..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/Contents/Info.plist
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 4.8
- CFBundleGetInfoString
- Created by Qt/QMake
- CFBundleSignature
- ????
- CFBundleExecutable
- QtSql
- NOTE
- Please, do NOT change this file -- It was generated by Qt/QMake.
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/QtSql b/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/QtSql
deleted file mode 120000
index b507a40..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/QtSql
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/QtSql
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/QtSql.prl b/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/QtSql.prl
deleted file mode 100644
index 8043aac..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/QtSql.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/sql
-QMAKE_PRO_INPUT = sql.pro
-QMAKE_PRL_TARGET = QtSql
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/QtSql_debug.prl b/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/QtSql_debug.prl
deleted file mode 100644
index 29c7e11..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/QtSql_debug.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/sql
-QMAKE_PRO_INPUT = sql.pro
-QMAKE_PRL_TARGET = QtSql_debug
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/Versions/4/QtSql b/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/Versions/4/QtSql
deleted file mode 100644
index 3e15c85..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/Versions/4/QtSql and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/Versions/Current
deleted file mode 120000
index bf0d87a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/Contents/Info.plist b/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/Contents/Info.plist
deleted file mode 100644
index 7f2f1ae..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/Contents/Info.plist
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 4.8
- CFBundleGetInfoString
- Created by Qt/QMake
- CFBundleSignature
- ????
- CFBundleExecutable
- QtSvg
- NOTE
- Please, do NOT change this file -- It was generated by Qt/QMake.
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/QtSvg b/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/QtSvg
deleted file mode 120000
index da887c0..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/QtSvg
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/QtSvg
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/QtSvg.prl b/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/QtSvg.prl
deleted file mode 100644
index c824851..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/QtSvg.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/svg
-QMAKE_PRO_INPUT = svg.pro
-QMAKE_PRL_TARGET = QtSvg
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtGui -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/QtSvg_debug.prl b/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/QtSvg_debug.prl
deleted file mode 100644
index 24bcb2b..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/QtSvg_debug.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/svg
-QMAKE_PRO_INPUT = svg.pro
-QMAKE_PRL_TARGET = QtSvg_debug
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtGui -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/Versions/4/QtSvg b/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/Versions/4/QtSvg
deleted file mode 100644
index b6a6f0c..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/Versions/4/QtSvg and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/Versions/Current
deleted file mode 120000
index bf0d87a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/Contents/Info.plist b/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/Contents/Info.plist
deleted file mode 100644
index 0537d6b..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/Contents/Info.plist
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 4.9
- CFBundleGetInfoString
- Created by Qt/QMake
- CFBundleSignature
- ????
- CFBundleExecutable
- QtWebKit
- NOTE
- Please, do NOT change this file -- It was generated by Qt/QMake.
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/QtWebKit b/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/QtWebKit
deleted file mode 120000
index 1222aed..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/QtWebKit
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/QtWebKit
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/QtWebKit.prl b/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/QtWebKit.prl
deleted file mode 100644
index 829bb2a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/QtWebKit.prl
+++ /dev/null
@@ -1,6 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebKit/qt/
-QMAKE_PRO_INPUT = QtWebKit.pro
-QMAKE_PRL_TARGET = QtWebKit
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc uic resources sdk rez release ReleaseBuild Release build_pass qt release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass building-libs depend_includepath standalone_package debug_and_release depend_includepath include_webinspector production production no_debug_info production qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework create_pc create_libtool release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.9.4
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/QtWebKit_debug.prl b/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/QtWebKit_debug.prl
deleted file mode 100644
index e94f6b1..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/QtWebKit_debug.prl
+++ /dev/null
@@ -1,6 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebKit/qt/
-QMAKE_PRO_INPUT = QtWebKit.pro
-QMAKE_PRL_TARGET = QtWebKit_debug
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc debug uic resources sdk rez debug DebugBuild Debug build_pass qt app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass building-libs depend_includepath standalone_package debug_and_release depend_includepath include_webinspector production production no_debug_info production qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework create_pc create_libtool debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.9.4
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/Versions/4/QtWebKit b/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/Versions/4/QtWebKit
deleted file mode 100644
index 04ae21e..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/Versions/4/QtWebKit and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/Versions/Current
deleted file mode 120000
index bf0d87a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtWebKit.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/Contents/Info.plist b/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/Contents/Info.plist
deleted file mode 100644
index 8ddd3f5..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/Contents/Info.plist
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 4.8
- CFBundleGetInfoString
- Created by Qt/QMake
- CFBundleSignature
- ????
- CFBundleExecutable
- QtXml
- NOTE
- Please, do NOT change this file -- It was generated by Qt/QMake.
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/QtXml b/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/QtXml
deleted file mode 120000
index 13dddf0..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/QtXml
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/QtXml
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/QtXml.prl b/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/QtXml.prl
deleted file mode 100644
index 26e1089..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/QtXml.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/xml
-QMAKE_PRO_INPUT = xml.pro
-QMAKE_PRL_TARGET = QtXml
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/QtXml_debug.prl b/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/QtXml_debug.prl
deleted file mode 100644
index 63bdcb0..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/QtXml_debug.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/xml
-QMAKE_PRO_INPUT = xml.pro
-QMAKE_PRL_TARGET = QtXml_debug
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml b/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml
deleted file mode 100644
index 3329ab0..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/Versions/Current
deleted file mode 120000
index bf0d87a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/Contents/Info.plist b/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/Contents/Info.plist
deleted file mode 100644
index 2d62e86..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/Contents/Info.plist
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 4.8
- CFBundleGetInfoString
- Created by Qt/QMake
- CFBundleSignature
- ????
- CFBundleExecutable
- QtXmlPatterns
- NOTE
- Please, do NOT change this file -- It was generated by Qt/QMake.
-
-
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/QtXmlPatterns b/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/QtXmlPatterns
deleted file mode 120000
index 4247d18..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/QtXmlPatterns
+++ /dev/null
@@ -1 +0,0 @@
-Versions/4/QtXmlPatterns
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/QtXmlPatterns.prl b/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/QtXmlPatterns.prl
deleted file mode 100644
index bf23f21..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/QtXmlPatterns.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/xmlpatterns
-QMAKE_PRO_INPUT = xmlpatterns.pro
-QMAKE_PRL_TARGET = QtXmlPatterns
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtNetwork -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/QtXmlPatterns_debug.prl b/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/QtXmlPatterns_debug.prl
deleted file mode 100644
index 59a52bb..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/QtXmlPatterns_debug.prl
+++ /dev/null
@@ -1,7 +0,0 @@
-QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/xmlpatterns
-QMAKE_PRO_INPUT = xmlpatterns.pro
-QMAKE_PRL_TARGET = QtXmlPatterns_debug
-QMAKE_PRL_DEFINES = QT_SHARED
-QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
-QMAKE_PRL_VERSION = 4.8.5
-QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtNetwork -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/Versions/4/QtXmlPatterns b/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/Versions/4/QtXmlPatterns
deleted file mode 100644
index fd78a4f..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/Versions/4/QtXmlPatterns and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/Versions/Current b/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/Versions/Current
deleted file mode 120000
index bf0d87a..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/QtXmlPatterns.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Frameworks/libQtCLucene.4.8.5.dylib b/FeedTheMonkey.app/Contents/Frameworks/libQtCLucene.4.8.5.dylib
deleted file mode 100644
index 2f901c6..0000000
Binary files a/FeedTheMonkey.app/Contents/Frameworks/libQtCLucene.4.8.5.dylib and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Frameworks/libQtCLucene.4.dylib b/FeedTheMonkey.app/Contents/Frameworks/libQtCLucene.4.dylib
deleted file mode 120000
index 0c17d79..0000000
--- a/FeedTheMonkey.app/Contents/Frameworks/libQtCLucene.4.dylib
+++ /dev/null
@@ -1 +0,0 @@
-libQtCLucene.4.8.5.dylib
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Info.plist b/FeedTheMonkey.app/Contents/Info.plist
deleted file mode 100644
index fda87a2..0000000
--- a/FeedTheMonkey.app/Contents/Info.plist
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- English
- CFBundleDisplayName
- FeedTheMonkey
- CFBundleExecutable
- FeedTheMonkey
- CFBundleIconFile
- Icon.icns
- CFBundleIdentifier
- nu.jabs.apps.feedthemonkey
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- FeedTheMonkey
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 0.1.1
- CFBundleSignature
- ????
- CFBundleURLTypes
-
-
- CFBundleURLName
- nu.jabs.apps.feedthemonkey.handler
- CFBundleURLSchemes
-
- feedthemonkey
-
-
-
- CFBundleVersion
- 0.1.1
- LSHasLocalizedDisplayName
-
- LSMinimumSystemVersion
- 10.4
- NSAppleScriptEnabled
-
- NSHumanReadableCopyright
- Copyright not specified
- NSMainNibFile
- MainMenu
- NSPrincipalClass
- NSApplication
- PyMainFileNames
-
- __boot__
-
- PyOptions
-
- alias
-
- argv_emulation
-
- emulate_shell_environment
-
- no_chdir
-
- prefer_ppc
-
- site_packages
-
- use_pythonpath
-
-
- PyResourcePackages
-
-
- PyRuntimeLocations
-
- @executable_path/../Frameworks/Python.framework/Versions/2.7/Python
-
- PythonInfoDict
-
- PythonExecutable
- /usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
- PythonLongVersion
- 2.7.5 (default, Sep 14 2013, 22:19:06)
-[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)]
- PythonShortVersion
- 2.7
- py2app
-
- alias
-
- template
- app
- version
- 0.7.3
-
-
-
-
diff --git a/FeedTheMonkey.app/Contents/MacOS/FeedTheMonkey b/FeedTheMonkey.app/Contents/MacOS/FeedTheMonkey
deleted file mode 100755
index ccd180e..0000000
Binary files a/FeedTheMonkey.app/Contents/MacOS/FeedTheMonkey and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/MacOS/python b/FeedTheMonkey.app/Contents/MacOS/python
deleted file mode 100755
index 4ed976a..0000000
Binary files a/FeedTheMonkey.app/Contents/MacOS/python and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/PkgInfo b/FeedTheMonkey.app/Contents/PkgInfo
deleted file mode 100644
index bd04210..0000000
--- a/FeedTheMonkey.app/Contents/PkgInfo
+++ /dev/null
@@ -1 +0,0 @@
-APPL????
\ No newline at end of file
diff --git a/FeedTheMonkey.app/Contents/Resources/Icon.icns b/FeedTheMonkey.app/Contents/Resources/Icon.icns
deleted file mode 100644
index c365038..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/Icon.icns and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/__boot__.py b/FeedTheMonkey.app/Contents/Resources/__boot__.py
deleted file mode 100644
index 1277f7d..0000000
--- a/FeedTheMonkey.app/Contents/Resources/__boot__.py
+++ /dev/null
@@ -1,43 +0,0 @@
-def _reset_sys_path():
- # Clear generic sys.path[0]
- import sys, os
- resources = os.environ['RESOURCEPATH']
- while sys.path[0] == resources:
- del sys.path[0]
-_reset_sys_path()
-
-
-def _chdir_resource():
- import os
- os.chdir(os.environ['RESOURCEPATH'])
-_chdir_resource()
-
-
-def _disable_linecache():
- import linecache
- def fake_getline(*args, **kwargs):
- return ''
- linecache.orig_getline = linecache.getline
- linecache.getline = fake_getline
-_disable_linecache()
-
-
-def _run():
- global __file__
- import os, sys, site
- sys.frozen = 'macosx_app'
- base = os.environ['RESOURCEPATH']
-
- argv0 = os.path.basename(os.environ['ARGVZERO'])
- script = SCRIPT_MAP.get(argv0, DEFAULT_SCRIPT)
-
- path = os.path.join(base, script)
- sys.argv[0] = __file__ = path
- with open(path, 'rU') as fp:
- source = fp.read() + "\n"
- exec(compile(source, path, 'exec'), globals(), globals())
-
-
-DEFAULT_SCRIPT='feedthemonkey'
-SCRIPT_MAP={}
-_run()
diff --git a/FeedTheMonkey.app/Contents/Resources/__error__.sh b/FeedTheMonkey.app/Contents/Resources/__error__.sh
deleted file mode 100755
index f1122a6..0000000
--- a/FeedTheMonkey.app/Contents/Resources/__error__.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-#
-# This is the default apptemplate error script
-#
-if ( test -n "$2" ) ; then
- echo "$1 Error"
- echo "An unexpected error has occurred during execution of the main script"
- echo ""
- echo "$2: $3"
- echo ""
- echo "See the Console for a detailed traceback."
-else
- echo "$1 Error"
-
- # Usage: ERRORURL , this is used by the
- # bundle runner to put up a dialog.
- #echo "ERRORURL: http://www.python.org/ Visit the Python Website
-# echo "ERRORURL: http://homepages.cwi.nl/~jack/macpython/index.html Visit the MacPython Website"
-fi
diff --git a/FeedTheMonkey.app/Contents/Resources/feedthemonkey b/FeedTheMonkey.app/Contents/Resources/feedthemonkey
deleted file mode 100755
index 745e0c9..0000000
--- a/FeedTheMonkey.app/Contents/Resources/feedthemonkey
+++ /dev/null
@@ -1,537 +0,0 @@
-#!/usr/bin/env python2
-
-import sys, os, json, tempfile, urllib2, urllib, json
-from PyQt4 import QtGui, QtCore, QtWebKit, QtNetwork
-from threading import Thread
-from sys import platform as _platform
-
-settings = QtCore.QSettings("jabs.nu", "feedthemonkey")
-
-class MainWindow(QtGui.QMainWindow):
- def __init__(self):
- QtGui.QMainWindow.__init__(self)
- self.setWindowIcon(QtGui.QIcon("feedmonkey"))
- self.addAction(QtGui.QAction("Full Screen", self, checkable=True, toggled=lambda v: self.showFullScreen() if v else self.showNormal(), shortcut="F11"))
- self.history = self.get("history", [])
- self.restoreGeometry(QtCore.QByteArray.fromRawData(settings.value("geometry").toByteArray()))
- self.restoreState(QtCore.QByteArray.fromRawData(settings.value("state").toByteArray()))
-
- self.initUI()
-
- session_id = self.get("session_id")
- server_url = self.get("server_url")
-
- if not (session_id and server_url):
- self.authenticate()
- else:
- self.initApp()
-
-
- def initUI(self):
- self.list = List(self)
- self.content = Content(self)
-
- self.splitter = QtGui.QSplitter(QtCore.Qt.Vertical, self)
- self.splitter.setHandleWidth(1)
- self.splitter.addWidget(self.list)
- self.splitter.addWidget(self.content)
- self.splitter.restoreState(settings.value("splitterSizes").toByteArray());
- self.splitter.splitterMoved.connect(self.splitterMoved)
-
- self.setCentralWidget(self.splitter)
-
- def mkAction(name, connect, shortcut=None):
- action = QtGui.QAction(name, self)
- action.triggered.connect(connect)
- if shortcut:
- action.setShortcut(shortcut)
- return action
-
- mb = self.menuBar()
-
- fileMenu = mb.addMenu("&File")
- fileMenu.addAction(mkAction("&Close", self.close, "Ctrl+W"))
- fileMenu.addAction(mkAction("&Log Out", self.logOut))
- fileMenu.addSeparator()
- fileMenu.addAction(mkAction("&Exit", self.close, "Ctrl+Q"))
-
- actionMenu = mb.addMenu("&Action")
- actionMenu.addAction(mkAction("&Reload", self.content.reload, "R"))
- actionMenu.addAction(mkAction("Set &Unread", self.content.setUnread, "U"))
- actionMenu.addAction(mkAction("&Next", self.content.showNext, "J"))
- actionMenu.addAction(mkAction("&Previous", self.content.showPrevious, "K"))
- actionMenu.addAction(mkAction("&Open in Browser", self.content.openCurrent, "N"))
-
- viewMenu = mb.addMenu("&View")
- viewMenu.addAction(mkAction("Zoom &In", lambda: self.content.wb.setZoomFactor(self.content.wb.zoomFactor() + 0.2), "Ctrl++"))
- viewMenu.addAction(mkAction("Zoom &Out", lambda: self.content.wb.setZoomFactor(self.content.wb.zoomFactor() - 0.2), "Ctrl+-"))
- viewMenu.addAction(mkAction("&Reset", lambda: self.content.wb.setZoomFactor(1), "Ctrl+0"))
-
- windowMenu = mb.addMenu("&Window")
- windowMenu.addAction(mkAction("Default", self.resetSplitter, "Ctrl+D"))
-
- helpMenu = mb.addMenu("&Help")
- helpMenu.addAction(mkAction("&About", lambda: QtGui.QDesktopServices.openUrl(QtCore.QUrl("http://jabs.nu/feedthemonkey", QtCore.QUrl.TolerantMode)) ))
-
- def initApp(self):
- session_id = self.get("session_id")
- server_url = self.get("server_url")
- self.tinyTinyRSS = TinyTinyRSS(self, server_url, session_id)
-
- self.content.evaluateJavaScript("setArticle('loading')")
- self.content.reload()
- self.show()
-
- def closeEvent(self, ev):
- settings.setValue("geometry", self.saveGeometry())
- settings.setValue("state", self.saveState())
- return QtGui.QMainWindow.closeEvent(self, ev)
-
- def put(self, key, value):
- "Persist an object somewhere under a given key"
- settings.setValue(key, json.dumps(value))
- settings.sync()
-
- def get(self, key, default=None):
- "Get the object stored under 'key' in persistent storage, or the default value"
- v = settings.value(key)
- return json.loads(unicode(v.toString())) if v.isValid() else default
-
- def setWindowTitle(self, t):
- super(QtGui.QMainWindow, self).setWindowTitle("Feed the Monkey" + t)
-
- def splitterMoved(self, pos, index):
- settings.setValue("splitterSizes", self.splitter.saveState());
-
- def resetSplitter(self):
- sizes = self.splitter.sizes()
- top = sizes[0]
- bottom = sizes[1]
- sizes[0] = 200
- sizes[1] = bottom + top - 200
- self.splitter.setSizes(sizes)
-
- def authenticate(self):
-
- dialog = Login()
-
- def callback():
-
- server_url = str(dialog.textServerUrl.text())
- user = str(dialog.textName.text())
- password = str(dialog.textPass.text())
-
- session_id = TinyTinyRSS.login(server_url, user, password)
- if session_id:
- self.put("session_id", session_id)
- self.put("server_url", server_url)
- self.initApp()
- else:
- self.authenticate()
-
- dialog.accepted.connect(callback)
-
- dialog.exec_()
-
- def logOut(self):
- self.hide()
- self.content.evaluateJavaScript("setArticle('logout')")
- self.tinyTinyRSS.logOut()
- self.tinyTinyRSS = None
- self.put("session_id", None)
- self.put("server_url", None)
- self.authenticate()
-
-class List(QtGui.QTableWidget):
- def __init__(self, container):
- QtGui.QTableWidget.__init__(self)
- self.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
- self.app = container
- self.itemSelectionChanged.connect(self.rowSelected)
- self.setShowGrid(False)
-
- def initHeader(self):
- self.clear()
- self.setColumnCount(3)
- self.setHorizontalHeaderLabels(("Feed", "Title", "Date"))
- self.horizontalHeader().setResizeMode(0, QtGui.QHeaderView.ResizeToContents)
- self.horizontalHeader().setResizeMode(1, QtGui.QHeaderView.Stretch)
- self.horizontalHeader().setResizeMode(2, QtGui.QHeaderView.ResizeToContents)
- self.verticalHeader().hide()
-
- def setItems(self, articles):
- self.initHeader()
- self.setRowCount(len(articles))
- row = 0
- for article in articles:
- if "feed_title" in article:
- feed_title = QtGui.QTableWidgetItem(article["feed_title"])
- feed_title.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
- self.setItem(row, 0, feed_title)
- if "title" in article:
- title = QtGui.QTableWidgetItem(article["title"])
- title.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
- self.setItem(row, 1, title)
- if "updated" in article:
- date = QtCore.QDateTime.fromTime_t(article["updated"]).toString(QtCore.Qt.SystemLocaleShortDate)
- d = QtGui.QTableWidgetItem(date)
- d.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
- self.setItem(row, 2, d)
- if "author" in article:
- author = QtGui.QTableWidgetItem(article["author"])
- author.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
- self.setItem(row, 3, author)
- self.resizeRowToContents(row)
- row += 1
- self.selectRow(0)
-
- def rowSelected(self):
- indexes = self.selectedIndexes()
- if len(indexes) > 0:
- row = indexes[0].row()
- self.app.content.showIndex(row)
-
- def updateRead(self):
- for row, article in enumerate(self.app.content.unread_articles):
- for x in xrange(0,3):
- item = self.item(row, x)
- font = item.font()
- font.setBold(article["unread"])
- item.setFont(font)
-
-
-class Content(QtGui.QWidget):
- def __init__(self, container):
- QtGui.QWidget.__init__(self)
-
- self.app = container
- self.index = 0
-
- self.wb = QtWebKit.QWebView(titleChanged=lambda t: container.setWindowTitle(t))
- self.wb.page().setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks)
- self.wb.linkClicked.connect(lambda url: self.openLink(url))
-
- self.setLayout(QtGui.QVBoxLayout(spacing=0))
- self.layout().setContentsMargins(0, 0, 0, 0)
- self.layout().addWidget(self.wb)
-
- self.do_show_next = QtGui.QShortcut(QtCore.Qt.Key_Right, self, activated=self.showNext)
- self.do_show_previous = QtGui.QShortcut(QtCore.Qt.Key_Left, self, activated=self.showPrevious)
- self.do_open = QtGui.QShortcut("Return", self, activated=self.openCurrent)
-
- self.wb.settings().setAttribute(QtWebKit.QWebSettings.PluginsEnabled, True)
- self.wb.settings().setIconDatabasePath(tempfile.mkdtemp())
- self.wb.setHtml(self.templateString())
-
- self.unread_articles = []
-
- def openLink(self, url):
- QtGui.QDesktopServices.openUrl(url)
-
- def reload(self):
- w = WorkerThread(self.app, self._reload)
- self.connect(w, QtCore.SIGNAL("reload_done()"), self.reload_done)
- w.start()
-
- def setUnread(self):
- article = self.unread_articles[self.index]
- article["unread"] = True
- article["set_unread"] = True
- self.app.list.updateRead()
-
- def _reload(self):
- self.unread_articles = self.app.tinyTinyRSS.getUnreadFeeds()
- self.index = -1
-
- def reload_done(self):
- self.setUnreadCount()
- if len(self.unread_articles) > 0:
- self.showNext()
- self.app.list.setItems(self.unread_articles)
-
- def showIndex(self, index):
- previous = self.unread_articles[self.index]
- if not "set_unread" in previous or not previous["set_unread"]:
- self.app.tinyTinyRSS.setArticleRead(previous["id"])
- previous["unread"] = False
- self.app.list.updateRead()
- else:
- previous["set_unread"] = False
- self.index = index
- current = self.unread_articles[self.index]
- self.setArticle(current)
- self.setUnreadCount()
-
- def showNext(self):
- if self.index >= 0 and self.index < len(self.unread_articles):
- previous = self.unread_articles[self.index]
- if not "set_unread" in previous or not previous["set_unread"]:
- self.app.tinyTinyRSS.setArticleRead(previous["id"])
- previous["unread"] = False
- self.app.list.updateRead()
- else:
- previous["set_unread"] = False
-
- if len(self.unread_articles) > self.index + 1:
- self.index += 1
- current = self.unread_articles[self.index]
- self.setArticle(current)
- else:
- if self.index < len(self.unread_articles):
- self.index += 1
-
- self.setUnreadCount()
- self.app.list.selectRow(self.index)
-
- def showPrevious(self):
- if self.index > 0:
- self.index -= 1
- previous = self.unread_articles[self.index]
- self.setArticle(previous)
- self.setUnreadCount()
- self.app.list.selectRow(self.index)
-
- def openCurrent(self):
- current = self.unread_articles[self.index]
- url = QtCore.QUrl(current["link"])
- self.openLink(url)
-
- def setArticle(self, article):
- func = u"setArticle({});".format(json.dumps(article))
- self.evaluateJavaScript(func)
-
- def evaluateJavaScript(self, func):
- return self.wb.page().mainFrame().evaluateJavaScript(func)
-
- def setUnreadCount(self):
- length = len(self.unread_articles)
- i = 0
- if self.index > 0:
- i = self.index
- unread = length - i
-
- self.app.setWindowTitle(" (" + str(unread) + "/" + str(length) + ")")
- if unread < 1:
- self.evaluateJavaScript("setArticle('empty')")
-
- def templateString(self):
- html="""
-
-
-
-
- ttrssl
-
-
-
-
-
-
-
- """
- return html # string.replace(html, " header file. */
-/* #undef HAVE_ASM_TYPES_H */
-
-/* Define to 1 if you have the `atanh' function. */
-#define HAVE_ATANH 1
-
-/* Define if GCC supports __attribute__((format(PyArg_ParseTuple, 2, 3))) */
-/* #undef HAVE_ATTRIBUTE_FORMAT_PARSETUPLE */
-
-/* Define to 1 if you have the `bind_textdomain_codeset' function. */
-/* #undef HAVE_BIND_TEXTDOMAIN_CODESET */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_BLUETOOTH_BLUETOOTH_H */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_BLUETOOTH_H */
-
-/* Define if nice() returns success/failure instead of the new priority. */
-/* #undef HAVE_BROKEN_NICE */
-
-/* Define if the system reports an invalid PIPE_BUF value. */
-/* #undef HAVE_BROKEN_PIPE_BUF */
-
-/* Define if poll() sets errno on invalid file descriptors. */
-/* #undef HAVE_BROKEN_POLL */
-
-/* Define if the Posix semaphores do not work on your system */
-/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */
-
-/* Define if pthread_sigmask() does not work on your system. */
-/* #undef HAVE_BROKEN_PTHREAD_SIGMASK */
-
-/* define to 1 if your sem_getvalue is broken. */
-#define HAVE_BROKEN_SEM_GETVALUE 1
-
-/* Define if `unsetenv` does not return an int. */
-/* #undef HAVE_BROKEN_UNSETENV */
-
-/* Define this if you have the type _Bool. */
-#define HAVE_C99_BOOL 1
-
-/* Define to 1 if you have the 'chflags' function. */
-#define HAVE_CHFLAGS 1
-
-/* Define to 1 if you have the `chown' function. */
-#define HAVE_CHOWN 1
-
-/* Define if you have the 'chroot' function. */
-#define HAVE_CHROOT 1
-
-/* Define to 1 if you have the `clock' function. */
-#define HAVE_CLOCK 1
-
-/* Define to 1 if you have the `confstr' function. */
-#define HAVE_CONFSTR 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_CONIO_H */
-
-/* Define to 1 if you have the `copysign' function. */
-#define HAVE_COPYSIGN 1
-
-/* Define to 1 if you have the `ctermid' function. */
-#define HAVE_CTERMID 1
-
-/* Define if you have the 'ctermid_r' function. */
-#define HAVE_CTERMID_R 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_CURSES_H 1
-
-/* Define if you have the 'is_term_resized' function. */
-#define HAVE_CURSES_IS_TERM_RESIZED 1
-
-/* Define if you have the 'resizeterm' function. */
-#define HAVE_CURSES_RESIZETERM 1
-
-/* Define if you have the 'resize_term' function. */
-#define HAVE_CURSES_RESIZE_TERM 1
-
-/* Define to 1 if you have the declaration of `isfinite', and to 0 if you
- don't. */
-#define HAVE_DECL_ISFINITE 1
-
-/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't.
- */
-#define HAVE_DECL_ISINF 1
-
-/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't.
- */
-#define HAVE_DECL_ISNAN 1
-
-/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
- */
-/* #undef HAVE_DECL_TZNAME */
-
-/* Define to 1 if you have the device macros. */
-#define HAVE_DEVICE_MACROS 1
-
-/* Define to 1 if you have the /dev/ptc device file. */
-/* #undef HAVE_DEV_PTC */
-
-/* Define to 1 if you have the /dev/ptmx device file. */
-#define HAVE_DEV_PTMX 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_DIRECT_H */
-
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-#define HAVE_DIRENT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_DLFCN_H 1
-
-/* Define to 1 if you have the `dlopen' function. */
-#define HAVE_DLOPEN 1
-
-/* Define to 1 if you have the `dup2' function. */
-#define HAVE_DUP2 1
-
-/* Defined when any dynamic module loading is enabled. */
-#define HAVE_DYNAMIC_LOADING 1
-
-/* Define if you have the 'epoll' functions. */
-/* #undef HAVE_EPOLL */
-
-/* Define to 1 if you have the `erf' function. */
-#define HAVE_ERF 1
-
-/* Define to 1 if you have the `erfc' function. */
-#define HAVE_ERFC 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_ERRNO_H 1
-
-/* Define to 1 if you have the `execv' function. */
-#define HAVE_EXECV 1
-
-/* Define to 1 if you have the `expm1' function. */
-#define HAVE_EXPM1 1
-
-/* Define if you have the 'fchdir' function. */
-#define HAVE_FCHDIR 1
-
-/* Define to 1 if you have the `fchmod' function. */
-#define HAVE_FCHMOD 1
-
-/* Define to 1 if you have the `fchown' function. */
-#define HAVE_FCHOWN 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define if you have the 'fdatasync' function. */
-/* #undef HAVE_FDATASYNC */
-
-/* Define to 1 if you have the `finite' function. */
-#define HAVE_FINITE 1
-
-/* Define to 1 if you have the `flock' function. */
-#define HAVE_FLOCK 1
-
-/* Define to 1 if you have the `fork' function. */
-#define HAVE_FORK 1
-
-/* Define to 1 if you have the `forkpty' function. */
-#define HAVE_FORKPTY 1
-
-/* Define to 1 if you have the `fpathconf' function. */
-#define HAVE_FPATHCONF 1
-
-/* Define to 1 if you have the `fseek64' function. */
-/* #undef HAVE_FSEEK64 */
-
-/* Define to 1 if you have the `fseeko' function. */
-#define HAVE_FSEEKO 1
-
-/* Define to 1 if you have the `fstatvfs' function. */
-#define HAVE_FSTATVFS 1
-
-/* Define if you have the 'fsync' function. */
-#define HAVE_FSYNC 1
-
-/* Define to 1 if you have the `ftell64' function. */
-/* #undef HAVE_FTELL64 */
-
-/* Define to 1 if you have the `ftello' function. */
-#define HAVE_FTELLO 1
-
-/* Define to 1 if you have the `ftime' function. */
-#define HAVE_FTIME 1
-
-/* Define to 1 if you have the `ftruncate' function. */
-#define HAVE_FTRUNCATE 1
-
-/* Define to 1 if you have the `gai_strerror' function. */
-#define HAVE_GAI_STRERROR 1
-
-/* Define to 1 if you have the `gamma' function. */
-#define HAVE_GAMMA 1
-
-/* Define if we can use gcc inline assembler to get and set x87 control word
- */
-#define HAVE_GCC_ASM_FOR_X87 1
-
-/* Define if you have the getaddrinfo function. */
-#define HAVE_GETADDRINFO 1
-
-/* Define to 1 if you have the `getcwd' function. */
-#define HAVE_GETCWD 1
-
-/* Define this if you have flockfile(), getc_unlocked(), and funlockfile() */
-#define HAVE_GETC_UNLOCKED 1
-
-/* Define to 1 if you have the `getgroups' function. */
-#define HAVE_GETGROUPS 1
-
-/* Define to 1 if you have the `gethostbyname' function. */
-#define HAVE_GETHOSTBYNAME 1
-
-/* Define this if you have some version of gethostbyname_r() */
-/* #undef HAVE_GETHOSTBYNAME_R */
-
-/* Define this if you have the 3-arg version of gethostbyname_r(). */
-/* #undef HAVE_GETHOSTBYNAME_R_3_ARG */
-
-/* Define this if you have the 5-arg version of gethostbyname_r(). */
-/* #undef HAVE_GETHOSTBYNAME_R_5_ARG */
-
-/* Define this if you have the 6-arg version of gethostbyname_r(). */
-/* #undef HAVE_GETHOSTBYNAME_R_6_ARG */
-
-/* Define to 1 if you have the `getitimer' function. */
-#define HAVE_GETITIMER 1
-
-/* Define to 1 if you have the `getloadavg' function. */
-#define HAVE_GETLOADAVG 1
-
-/* Define to 1 if you have the `getlogin' function. */
-#define HAVE_GETLOGIN 1
-
-/* Define to 1 if you have the `getnameinfo' function. */
-#define HAVE_GETNAMEINFO 1
-
-/* Define if you have the 'getpagesize' function. */
-#define HAVE_GETPAGESIZE 1
-
-/* Define to 1 if you have the `getpeername' function. */
-#define HAVE_GETPEERNAME 1
-
-/* Define to 1 if you have the `getpgid' function. */
-#define HAVE_GETPGID 1
-
-/* Define to 1 if you have the `getpgrp' function. */
-#define HAVE_GETPGRP 1
-
-/* Define to 1 if you have the `getpid' function. */
-#define HAVE_GETPID 1
-
-/* Define to 1 if you have the `getpriority' function. */
-#define HAVE_GETPRIORITY 1
-
-/* Define to 1 if you have the `getpwent' function. */
-#define HAVE_GETPWENT 1
-
-/* Define to 1 if you have the `getresgid' function. */
-/* #undef HAVE_GETRESGID */
-
-/* Define to 1 if you have the `getresuid' function. */
-/* #undef HAVE_GETRESUID */
-
-/* Define to 1 if you have the `getsid' function. */
-#define HAVE_GETSID 1
-
-/* Define to 1 if you have the `getspent' function. */
-/* #undef HAVE_GETSPENT */
-
-/* Define to 1 if you have the `getspnam' function. */
-/* #undef HAVE_GETSPNAM */
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#define HAVE_GETTIMEOFDAY 1
-
-/* Define to 1 if you have the `getwd' function. */
-#define HAVE_GETWD 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_GRP_H 1
-
-/* Define if you have the 'hstrerror' function. */
-#define HAVE_HSTRERROR 1
-
-/* Define to 1 if you have the `hypot' function. */
-#define HAVE_HYPOT 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_IEEEFP_H */
-
-/* Define if you have the 'inet_aton' function. */
-#define HAVE_INET_ATON 1
-
-/* Define if you have the 'inet_pton' function. */
-#define HAVE_INET_PTON 1
-
-/* Define to 1 if you have the `initgroups' function. */
-#define HAVE_INITGROUPS 1
-
-/* Define if your compiler provides int32_t. */
-#define HAVE_INT32_T 1
-
-/* Define if your compiler provides int64_t. */
-#define HAVE_INT64_T 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_IO_H */
-
-/* Define to 1 if you have the `kill' function. */
-#define HAVE_KILL 1
-
-/* Define to 1 if you have the `killpg' function. */
-#define HAVE_KILLPG 1
-
-/* Define if you have the 'kqueue' functions. */
-#define HAVE_KQUEUE 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_LANGINFO_H 1
-
-/* Defined to enable large file support when an off_t is bigger than a long
- and long long is available and at least as big as an off_t. You may need to
- add some flags for configuration and compilation to enable this mode. (For
- Solaris and Linux, the necessary defines are already defined.) */
-/* #undef HAVE_LARGEFILE_SUPPORT */
-
-/* Define to 1 if you have the 'lchflags' function. */
-#define HAVE_LCHFLAGS 1
-
-/* Define to 1 if you have the `lchmod' function. */
-#define HAVE_LCHMOD 1
-
-/* Define to 1 if you have the `lchown' function. */
-#define HAVE_LCHOWN 1
-
-/* Define to 1 if you have the `lgamma' function. */
-#define HAVE_LGAMMA 1
-
-/* Define to 1 if you have the `dl' library (-ldl). */
-#define HAVE_LIBDL 1
-
-/* Define to 1 if you have the `dld' library (-ldld). */
-/* #undef HAVE_LIBDLD */
-
-/* Define to 1 if you have the `ieee' library (-lieee). */
-/* #undef HAVE_LIBIEEE */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_LIBINTL_H */
-
-/* Define if you have the readline library (-lreadline). */
-#define HAVE_LIBREADLINE 1
-
-/* Define to 1 if you have the `resolv' library (-lresolv). */
-/* #undef HAVE_LIBRESOLV */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_LIBUTIL_H */
-
-/* Define if you have the 'link' function. */
-#define HAVE_LINK 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_LINUX_NETLINK_H */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_LINUX_TIPC_H */
-
-/* Define to 1 if you have the `log1p' function. */
-#define HAVE_LOG1P 1
-
-/* Define this if you have the type long double. */
-#define HAVE_LONG_DOUBLE 1
-
-/* Define this if you have the type long long. */
-#define HAVE_LONG_LONG 1
-
-/* Define to 1 if you have the `lstat' function. */
-#define HAVE_LSTAT 1
-
-/* Define this if you have the makedev macro. */
-#define HAVE_MAKEDEV 1
-
-/* Define to 1 if you have the `memmove' function. */
-#define HAVE_MEMMOVE 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the `mkfifo' function. */
-#define HAVE_MKFIFO 1
-
-/* Define to 1 if you have the `mknod' function. */
-#define HAVE_MKNOD 1
-
-/* Define to 1 if you have the `mktime' function. */
-#define HAVE_MKTIME 1
-
-/* Define to 1 if you have the `mremap' function. */
-/* #undef HAVE_MREMAP */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_NCURSES_H 1
-
-/* Define to 1 if you have the header file, and it defines `DIR'. */
-/* #undef HAVE_NDIR_H */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_NETPACKET_PACKET_H */
-
-/* Define to 1 if you have the `nice' function. */
-#define HAVE_NICE 1
-
-/* Define to 1 if you have the `openpty' function. */
-#define HAVE_OPENPTY 1
-
-/* Define if compiling using MacOS X 10.5 SDK or later. */
-#define HAVE_OSX105_SDK 1
-
-/* Define to 1 if you have the `pathconf' function. */
-#define HAVE_PATHCONF 1
-
-/* Define to 1 if you have the `pause' function. */
-#define HAVE_PAUSE 1
-
-/* Define to 1 if you have the `plock' function. */
-/* #undef HAVE_PLOCK */
-
-/* Define to 1 if you have the `poll' function. */
-#undef HAVE_POLL
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_POLL_H
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_PROCESS_H */
-
-/* Define if your compiler supports function prototype */
-#define HAVE_PROTOTYPES 1
-
-/* Define if you have GNU PTH threads. */
-/* #undef HAVE_PTH */
-
-/* Defined for Solaris 2.6 bug in pthread header. */
-/* #undef HAVE_PTHREAD_DESTRUCTOR */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_PTHREAD_H 1
-
-/* Define to 1 if you have the `pthread_init' function. */
-#define HAVE_PTHREAD_INIT 1
-
-/* Define to 1 if you have the `pthread_sigmask' function. */
-#define HAVE_PTHREAD_SIGMASK 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_PTY_H */
-
-/* Define to 1 if you have the `putenv' function. */
-#define HAVE_PUTENV 1
-
-/* Define to 1 if you have the `readlink' function. */
-#define HAVE_READLINK 1
-
-/* Define to 1 if you have the `realpath' function. */
-#define HAVE_REALPATH 1
-
-/* Define if you have readline 2.1 */
-#define HAVE_RL_CALLBACK 1
-
-/* Define if you can turn off readline's signal handling. */
-#define HAVE_RL_CATCH_SIGNAL 1
-
-/* Define if you have readline 2.2 */
-#define HAVE_RL_COMPLETION_APPEND_CHARACTER 1
-
-/* Define if you have readline 4.0 */
-#define HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK 1
-
-/* Define if you have readline 4.2 */
-#define HAVE_RL_COMPLETION_MATCHES 1
-
-/* Define if you have rl_completion_suppress_append */
-#define HAVE_RL_COMPLETION_SUPPRESS_APPEND 1
-
-/* Define if you have readline 4.0 */
-#define HAVE_RL_PRE_INPUT_HOOK 1
-
-/* Define to 1 if you have the `round' function. */
-#define HAVE_ROUND 1
-
-/* Define to 1 if you have the `select' function. */
-#define HAVE_SELECT 1
-
-/* Define to 1 if you have the `sem_getvalue' function. */
-#define HAVE_SEM_GETVALUE 1
-
-/* Define to 1 if you have the `sem_open' function. */
-#define HAVE_SEM_OPEN 1
-
-/* Define to 1 if you have the `sem_timedwait' function. */
-/* #undef HAVE_SEM_TIMEDWAIT */
-
-/* Define to 1 if you have the `sem_unlink' function. */
-#define HAVE_SEM_UNLINK 1
-
-/* Define to 1 if you have the `setegid' function. */
-#define HAVE_SETEGID 1
-
-/* Define to 1 if you have the `seteuid' function. */
-#define HAVE_SETEUID 1
-
-/* Define to 1 if you have the `setgid' function. */
-#define HAVE_SETGID 1
-
-/* Define if you have the 'setgroups' function. */
-#define HAVE_SETGROUPS 1
-
-/* Define to 1 if you have the `setitimer' function. */
-#define HAVE_SETITIMER 1
-
-/* Define to 1 if you have the `setlocale' function. */
-#define HAVE_SETLOCALE 1
-
-/* Define to 1 if you have the `setpgid' function. */
-#define HAVE_SETPGID 1
-
-/* Define to 1 if you have the `setpgrp' function. */
-#define HAVE_SETPGRP 1
-
-/* Define to 1 if you have the `setregid' function. */
-#define HAVE_SETREGID 1
-
-/* Define to 1 if you have the `setresgid' function. */
-/* #undef HAVE_SETRESGID */
-
-/* Define to 1 if you have the `setresuid' function. */
-/* #undef HAVE_SETRESUID */
-
-/* Define to 1 if you have the `setreuid' function. */
-#define HAVE_SETREUID 1
-
-/* Define to 1 if you have the `setsid' function. */
-#define HAVE_SETSID 1
-
-/* Define to 1 if you have the `setuid' function. */
-#define HAVE_SETUID 1
-
-/* Define to 1 if you have the `setvbuf' function. */
-#define HAVE_SETVBUF 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SHADOW_H */
-
-/* Define to 1 if you have the `sigaction' function. */
-#define HAVE_SIGACTION 1
-
-/* Define to 1 if you have the `siginterrupt' function. */
-#define HAVE_SIGINTERRUPT 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SIGNAL_H 1
-
-/* Define to 1 if you have the `sigrelse' function. */
-#define HAVE_SIGRELSE 1
-
-/* Define to 1 if you have the `snprintf' function. */
-#define HAVE_SNPRINTF 1
-
-/* Define if sockaddr has sa_len member */
-#define HAVE_SOCKADDR_SA_LEN 1
-
-/* struct sockaddr_storage (sys/socket.h) */
-#define HAVE_SOCKADDR_STORAGE 1
-
-/* Define if you have the 'socketpair' function. */
-#define HAVE_SOCKETPAIR 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SPAWN_H 1
-
-/* Define if your compiler provides ssize_t */
-#define HAVE_SSIZE_T 1
-
-/* Define to 1 if you have the `statvfs' function. */
-#define HAVE_STATVFS 1
-
-/* Define if you have struct stat.st_mtim.tv_nsec */
-/* #undef HAVE_STAT_TV_NSEC */
-
-/* Define if you have struct stat.st_mtimensec */
-#define HAVE_STAT_TV_NSEC2 1
-
-/* Define if your compiler supports variable length function prototypes (e.g.
- void fprintf(FILE *, char *, ...);) *and* */
-#define HAVE_STDARG_PROTOTYPES 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the `strdup' function. */
-#define HAVE_STRDUP 1
-
-/* Define to 1 if you have the `strftime' function. */
-#define HAVE_STRFTIME 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_STROPTS_H */
-
-/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_BIRTHTIME 1
-
-/* Define to 1 if `st_blksize' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
-
-/* Define to 1 if `st_blocks' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_BLOCKS 1
-
-/* Define to 1 if `st_flags' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_FLAGS 1
-
-/* Define to 1 if `st_gen' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_GEN 1
-
-/* Define to 1 if `st_rdev' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_RDEV 1
-
-/* Define to 1 if `tm_zone' is a member of `struct tm'. */
-#define HAVE_STRUCT_TM_TM_ZONE 1
-
-/* Define to 1 if your `struct stat' has `st_blocks'. Deprecated, use
- `HAVE_STRUCT_STAT_ST_BLOCKS' instead. */
-#define HAVE_ST_BLOCKS 1
-
-/* Define if you have the 'symlink' function. */
-#define HAVE_SYMLINK 1
-
-/* Define to 1 if you have the `sysconf' function. */
-#define HAVE_SYSCONF 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYSEXITS_H 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_AUDIOIO_H */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_BSDTTY_H */
-
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-/* #undef HAVE_SYS_DIR_H */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_EPOLL_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_EVENT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_FILE_H 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_LOADAVG_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_LOCK_H 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_MKDEV_H */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_MODEM_H */
-
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-/* #undef HAVE_SYS_NDIR_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_PARAM_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_POLL_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_RESOURCE_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_SELECT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_SOCKET_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_STATVFS_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_SYS_TERMIO_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_TIMES_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_UN_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_UTSNAME_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_WAIT_H 1
-
-/* Define to 1 if you have the `tcgetpgrp' function. */
-#define HAVE_TCGETPGRP 1
-
-/* Define to 1 if you have the `tcsetpgrp' function. */
-#define HAVE_TCSETPGRP 1
-
-/* Define to 1 if you have the `tempnam' function. */
-#define HAVE_TEMPNAM 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_TERMIOS_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_TERM_H 1
-
-/* Define to 1 if you have the `tgamma' function. */
-#define HAVE_TGAMMA 1
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_THREAD_H */
-
-/* Define to 1 if you have the `timegm' function. */
-#define HAVE_TIMEGM 1
-
-/* Define to 1 if you have the `times' function. */
-#define HAVE_TIMES 1
-
-/* Define to 1 if you have the `tmpfile' function. */
-#define HAVE_TMPFILE 1
-
-/* Define to 1 if you have the `tmpnam' function. */
-#define HAVE_TMPNAM 1
-
-/* Define to 1 if you have the `tmpnam_r' function. */
-/* #undef HAVE_TMPNAM_R */
-
-/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
- `HAVE_STRUCT_TM_TM_ZONE' instead. */
-#define HAVE_TM_ZONE 1
-
-/* Define to 1 if you have the `truncate' function. */
-#define HAVE_TRUNCATE 1
-
-/* Define to 1 if you don't have `tm_zone' but do have the external array
- `tzname'. */
-/* #undef HAVE_TZNAME */
-
-/* Define this if you have tcl and TCL_UTF_MAX==6 */
-/* #undef HAVE_UCS4_TCL */
-
-/* Define if your compiler provides uint32_t. */
-#define HAVE_UINT32_T 1
-
-/* Define if your compiler provides uint64_t. */
-#define HAVE_UINT64_T 1
-
-/* Define to 1 if the system has the type `uintptr_t'. */
-#define HAVE_UINTPTR_T 1
-
-/* Define to 1 if you have the `uname' function. */
-#define HAVE_UNAME 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to 1 if you have the `unsetenv' function. */
-#define HAVE_UNSETENV 1
-
-/* Define if you have a useable wchar_t type defined in wchar.h; useable means
- wchar_t must be an unsigned type with at least 16 bits. (see
- Include/unicodeobject.h). */
-/* #undef HAVE_USABLE_WCHAR_T */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_UTIL_H 1
-
-/* Define to 1 if you have the `utimes' function. */
-#define HAVE_UTIMES 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_UTIME_H 1
-
-/* Define to 1 if you have the `wait3' function. */
-#define HAVE_WAIT3 1
-
-/* Define to 1 if you have the `wait4' function. */
-#define HAVE_WAIT4 1
-
-/* Define to 1 if you have the `waitpid' function. */
-#define HAVE_WAITPID 1
-
-/* Define if the compiler provides a wchar.h header file. */
-#define HAVE_WCHAR_H 1
-
-/* Define to 1 if you have the `wcscoll' function. */
-#define HAVE_WCSCOLL 1
-
-/* Define if tzset() actually switches the local timezone in a meaningful way.
- */
-#define HAVE_WORKING_TZSET 1
-
-/* Define if the zlib library has inflateCopy */
-#define HAVE_ZLIB_COPY 1
-
-/* Define to 1 if you have the `_getpty' function. */
-/* #undef HAVE__GETPTY */
-
-/* Define if you are using Mach cthreads directly under /include */
-/* #undef HURD_C_THREADS */
-
-/* Define if you are using Mach cthreads under mach / */
-/* #undef MACH_C_THREADS */
-
-/* Define to 1 if `major', `minor', and `makedev' are declared in .
- */
-/* #undef MAJOR_IN_MKDEV */
-
-/* Define to 1 if `major', `minor', and `makedev' are declared in
- . */
-/* #undef MAJOR_IN_SYSMACROS */
-
-/* Define if mvwdelch in curses.h is an expression. */
-#define MVWDELCH_IS_EXPRESSION 1
-
-/* Define to the address where bug reports for this package should be sent. */
-/* #undef PACKAGE_BUGREPORT */
-
-/* Define to the full name of this package. */
-/* #undef PACKAGE_NAME */
-
-/* Define to the full name and version of this package. */
-/* #undef PACKAGE_STRING */
-
-/* Define to the one symbol short name of this package. */
-/* #undef PACKAGE_TARNAME */
-
-/* Define to the home page for this package. */
-/* #undef PACKAGE_URL */
-
-/* Define to the version of this package. */
-/* #undef PACKAGE_VERSION */
-
-/* Define if POSIX semaphores aren't enabled on your system */
-/* #undef POSIX_SEMAPHORES_NOT_ENABLED */
-
-/* Defined if PTHREAD_SCOPE_SYSTEM supported. */
-#define PTHREAD_SYSTEM_SCHED_SUPPORTED 1
-
-/* Define as the preferred size in bits of long digits */
-/* #undef PYLONG_BITS_IN_DIGIT */
-
-/* Define to printf format modifier for long long type */
-#define PY_FORMAT_LONG_LONG "ll"
-
-/* Define to printf format modifier for Py_ssize_t */
-#define PY_FORMAT_SIZE_T "z"
-
-/* Define as the integral type used for Unicode representation. */
-#define PY_UNICODE_TYPE unsigned short
-
-/* Define if you want to build an interpreter with many run-time checks. */
-/* #undef Py_DEBUG */
-
-/* Defined if Python is built as a shared library. */
-/* #undef Py_ENABLE_SHARED */
-
-/* Define as the size of the unicode type. */
-#define Py_UNICODE_SIZE 2
-
-/* Define if you want to have a Unicode type. */
-#define Py_USING_UNICODE 1
-
-/* assume C89 semantics that RETSIGTYPE is always void */
-#define RETSIGTYPE void
-
-/* Define if setpgrp() must be called as setpgrp(0, 0). */
-/* #undef SETPGRP_HAVE_ARG */
-
-/* Define this to be extension of shared libraries (including the dot!). */
-#define SHLIB_EXT ".so"
-
-/* Define if i>>j for signed int i does not extend the sign bit when i < 0 */
-/* #undef SIGNED_RIGHT_SHIFT_ZERO_FILLS */
-
-/* The size of `double', as computed by sizeof. */
-#define SIZEOF_DOUBLE 8
-
-/* The size of `float', as computed by sizeof. */
-#define SIZEOF_FLOAT 4
-
-/* The size of `fpos_t', as computed by sizeof. */
-#define SIZEOF_FPOS_T 8
-
-/* The size of `int', as computed by sizeof. */
-#define SIZEOF_INT 4
-
-/* The size of `long', as computed by sizeof. */
-#define SIZEOF_LONG 8
-
-/* The size of `long double', as computed by sizeof. */
-#define SIZEOF_LONG_DOUBLE 16
-
-/* The size of `long long', as computed by sizeof. */
-#define SIZEOF_LONG_LONG 8
-
-/* The size of `off_t', as computed by sizeof. */
-#define SIZEOF_OFF_T 8
-
-/* The size of `pid_t', as computed by sizeof. */
-#define SIZEOF_PID_T 4
-
-/* The size of `pthread_t', as computed by sizeof. */
-#define SIZEOF_PTHREAD_T 8
-
-/* The size of `short', as computed by sizeof. */
-#define SIZEOF_SHORT 2
-
-/* The size of `size_t', as computed by sizeof. */
-#define SIZEOF_SIZE_T 8
-
-/* The size of `time_t', as computed by sizeof. */
-#define SIZEOF_TIME_T 8
-
-/* The size of `uintptr_t', as computed by sizeof. */
-#define SIZEOF_UINTPTR_T 8
-
-/* The size of `void *', as computed by sizeof. */
-#define SIZEOF_VOID_P 8
-
-/* The size of `wchar_t', as computed by sizeof. */
-#define SIZEOF_WCHAR_T 4
-
-/* The size of `_Bool', as computed by sizeof. */
-#define SIZEOF__BOOL 1
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define if you can safely include both and
- (which you can't on SCO ODT 3.0). */
-#define SYS_SELECT_WITH_SYS_TIME 1
-
-/* Define if tanh(-0.) is -0., or if platform doesn't have signed zeros */
-#define TANH_PRESERVES_ZERO_SIGN 1
-
-/* Define to 1 if you can safely include both and . */
-#define TIME_WITH_SYS_TIME 1
-
-/* Define to 1 if your declares `struct tm'. */
-/* #undef TM_IN_SYS_TIME */
-
-/* Enable extensions on AIX 3, Interix. */
-#ifndef _ALL_SOURCE
-# define _ALL_SOURCE 1
-#endif
-/* Enable GNU extensions on systems that have them. */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE 1
-#endif
-/* Enable threading extensions on Solaris. */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# define _POSIX_PTHREAD_SEMANTICS 1
-#endif
-/* Enable extensions on HP NonStop. */
-#ifndef _TANDEM_SOURCE
-# define _TANDEM_SOURCE 1
-#endif
-/* Enable general extensions on Solaris. */
-#ifndef __EXTENSIONS__
-# define __EXTENSIONS__ 1
-#endif
-
-
-/* Define if you want to use MacPython modules on MacOSX in unix-Python. */
-#define USE_TOOLBOX_OBJECT_GLUE 1
-
-/* Define if a va_list is an array of some kind */
-#define VA_LIST_IS_ARRAY 1
-
-/* Define if you want SIGFPE handled (see Include/pyfpe.h). */
-/* #undef WANT_SIGFPE_HANDLER */
-
-/* Define if you want wctype.h functions to be used instead of the one
- supplied by Python itself. (see Include/unicodectype.h). */
-/* #undef WANT_WCTYPE_FUNCTIONS */
-
-/* Define if WINDOW in curses.h offers a field _flags. */
-/* #undef WINDOW_HAS_FLAGS */
-
-/* Define if you want documentation strings in extension modules */
-#define WITH_DOC_STRINGS 1
-
-/* Define if you want to use the new-style (Openstep, Rhapsody, MacOS) dynamic
- linker (dyld) instead of the old-style (NextStep) dynamic linker (rld).
- Dyld is necessary to support frameworks. */
-#define WITH_DYLD 1
-
-/* Define to 1 if libintl is needed for locale functions. */
-/* #undef WITH_LIBINTL */
-
-/* Define if you want to produce an OpenStep/Rhapsody framework (shared
- library plus accessory files). */
-#define WITH_NEXT_FRAMEWORK 1
-
-/* Define if you want to compile in Python-specific mallocs */
-#define WITH_PYMALLOC 1
-
-/* Define if you want to compile in rudimentary thread support */
-#define WITH_THREAD 1
-
-/* Define to profile with the Pentium timestamp counter */
-/* #undef WITH_TSC */
-
-/* Define if you want pymalloc to be disabled when running under valgrind */
-/* #undef WITH_VALGRIND */
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
- significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-# define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-/* # undef WORDS_BIGENDIAN */
-# endif
-#endif
-
-/* Define if arithmetic is subject to x87-style double rounding issue */
-/* #undef X87_DOUBLE_ROUNDING */
-
-/* Define on OpenBSD to activate all library features */
-/* #undef _BSD_SOURCE */
-
-/* Define on Irix to enable u_int */
-#define _BSD_TYPES 1
-
-/* Define on Darwin to activate all library features */
-#define _DARWIN_C_SOURCE 1
-
-/* This must be set to 64 on some systems to enable large file support. */
-#define _FILE_OFFSET_BITS 64
-
-/* Define on Linux to activate all library features */
-#define _GNU_SOURCE 1
-
-/* This must be defined on some systems to enable large file support. */
-#define _LARGEFILE_SOURCE 1
-
-/* This must be defined on AIX systems to enable large file support. */
-/* #undef _LARGE_FILES */
-
-/* Define to 1 if on MINIX. */
-/* #undef _MINIX */
-
-/* Define on NetBSD to activate all library features */
-#define _NETBSD_SOURCE 1
-
-/* Define _OSF_SOURCE to get the makedev macro. */
-/* #undef _OSF_SOURCE */
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
- this defined. */
-/* #undef _POSIX_1_SOURCE */
-
-/* Define to activate features from IEEE Stds 1003.1-2001 */
-/* #undef _POSIX_C_SOURCE */
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-/* #undef _POSIX_SOURCE */
-
-/* Define if you have POSIX threads, and your system does not define that. */
-/* #undef _POSIX_THREADS */
-
-/* Define to force use of thread-safe errno, h_errno, and other functions */
-#define _REENTRANT 1
-
-/* Define for Solaris 2.5.1 so the uint32_t typedef from ,
- , or is not used. If the typedef were allowed, the
- #define below would cause a syntax error. */
-/* #undef _UINT32_T */
-
-/* Define for Solaris 2.5.1 so the uint64_t typedef from ,
- , or is not used. If the typedef were allowed, the
- #define below would cause a syntax error. */
-/* #undef _UINT64_T */
-
-/* Define to the level of X/Open that your system supports */
-/* #undef _XOPEN_SOURCE */
-
-/* Define to activate Unix95-and-earlier features */
-/* #undef _XOPEN_SOURCE_EXTENDED */
-
-/* Define on FreeBSD to activate all library features */
-#define __BSD_VISIBLE 1
-
-/* Define to 1 if type `char' is unsigned and you are not using gcc. */
-#ifndef __CHAR_UNSIGNED__
-/* # undef __CHAR_UNSIGNED__ */
-#endif
-
-/* Defined on Solaris to see additional function prototypes. */
-#define __EXTENSIONS__ 1
-
-/* Define to 'long' if doesn't define. */
-/* #undef clock_t */
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-/* Define to `int' if doesn't define. */
-/* #undef gid_t */
-
-/* Define to the type of a signed integer type of width exactly 32 bits if
- such a type exists and the standard includes do not define it. */
-/* #undef int32_t */
-
-/* Define to the type of a signed integer type of width exactly 64 bits if
- such a type exists and the standard includes do not define it. */
-/* #undef int64_t */
-
-/* Define to `int' if does not define. */
-/* #undef mode_t */
-
-/* Define to `long int' if does not define. */
-/* #undef off_t */
-
-/* Define to `int' if does not define. */
-/* #undef pid_t */
-
-/* Define to empty if the keyword does not work. */
-/* #undef signed */
-
-/* Define to `unsigned int' if does not define. */
-/* #undef size_t */
-
-/* Define to `int' if does not define. */
-/* #undef socklen_t */
-
-/* Define to `int' if doesn't define. */
-/* #undef uid_t */
-
-/* Define to the type of an unsigned integer type of width exactly 32 bits if
- such a type exists and the standard includes do not define it. */
-/* #undef uint32_t */
-
-/* Define to the type of an unsigned integer type of width exactly 64 bits if
- such a type exists and the standard includes do not define it. */
-/* #undef uint64_t */
-
-/* Define to empty if the keyword does not work. */
-/* #undef volatile */
-
-
-/* Define the macros needed if on a UnixWare 7.x system. */
-#if defined(__USLC__) && defined(__SCO_VERSION__)
-#define STRICT_SYSV_CURSES /* Don't use ncurses extensions */
-#endif
-
-#endif /*Py_PYCONFIG_H*/
-
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Makefile b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Makefile
deleted file mode 100644
index 268b2c1..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Makefile
+++ /dev/null
@@ -1,1397 +0,0 @@
-# Generated automatically from Makefile.pre by makesetup.
-# Top-level Makefile for Python
-#
-# As distributed, this file is called Makefile.pre.in; it is processed
-# into the real Makefile by running the script ./configure, which
-# replaces things like @spam@ with values appropriate for your system.
-# This means that if you edit Makefile, your changes get lost the next
-# time you run the configure script. Ideally, you can do:
-#
-# ./configure
-# make
-# make test
-# make install
-#
-# If you have a previous version of Python installed that you don't
-# want to overwrite, you can use "make altinstall" instead of "make
-# install". Refer to the "Installing" section in the README file for
-# additional details.
-#
-# See also the section "Build instructions" in the README file.
-
-# === Variables set by makesetup ===
-
-MODOBJS= Modules/threadmodule.o Modules/signalmodule.o Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/zipimport.o Modules/symtablemodule.o Modules/xxsubtype.o
-MODLIBS= $(LOCALMODLIBS) $(BASEMODLIBS)
-
-# === Variables set by configure
-VERSION= 2.7
-srcdir= .
-
-abs_srcdir= /private/tmp/python-Yar9/Python-2.7.5
-abs_builddir= /private/tmp/python-Yar9/Python-2.7.5
-build= x86_64-apple-darwin12.5.0
-host= x86_64-apple-darwin12.5.0
-
-CC= cc
-CXX= c++
-MAINCC= $(CC)
-LINKCC= $(PURIFY) $(MAINCC)
-AR= ar
-RANLIB= ranlib
-SVNVERSION= svnversion $(srcdir)
-HGVERSION=
-HGTAG=
-HGBRANCH=
-
-GNULD= no
-
-# Shell used by make (some versions default to the login shell, which is bad)
-SHELL= /bin/sh
-
-# Use this to make a link between python$(VERSION) and python in $(BINDIR)
-LN= ln
-
-# Portable install script (configure doesn't always guess right)
-INSTALL= /usr/bin/install -c
-INSTALL_PROGRAM=${INSTALL}
-INSTALL_SCRIPT= ${INSTALL}
-INSTALL_DATA= ${INSTALL} -m 644
-# Shared libraries must be installed with executable mode on some systems;
-# rather than figuring out exactly which, we always give them executable mode.
-# Also, making them read-only seems to be a good idea...
-INSTALL_SHARED= ${INSTALL} -m 555
-
-MKDIR_P= ./install-sh -c -d
-
-MAKESETUP= $(srcdir)/Modules/makesetup
-
-# Compiler options
-OPT= -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
-BASECFLAGS= -fno-strict-aliasing -fno-common -dynamic
-CFLAGS= $(BASECFLAGS) -I/usr/local/include -I/usr/local/opt/sqlite/include $(OPT) $(EXTRA_CFLAGS)
-# Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
-# be able to build extension modules using the directories specified in the
-# environment variables
-CPPFLAGS= -I. -IInclude -I$(srcdir)/Include
-LDFLAGS= -L/usr/local/lib -L/usr/local/opt/sqlite/lib
-LDLAST=
-SGI_ABI=
-CCSHARED=
-LINKFORSHARED=-u _PyMac_Error $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)
-ARFLAGS= rc
-# Extra C flags added for building the interpreter object files.
-CFLAGSFORSHARED=$(CCSHARED)
-# C flags used for building the interpreter object files
-PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE
-
-
-# Machine-dependent subdirectories
-MACHDEP= darwin
-
-# Multiarch directory (may be empty)
-MULTIARCH=
-
-# Install prefix for architecture-independent files
-prefix= /usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7
-
-# Install prefix for architecture-dependent files
-exec_prefix= ${prefix}
-
-# Install prefix for data files
-datarootdir= /usr/local/Cellar/python/2.7.5/share
-
-# Expanded directories
-BINDIR= ${exec_prefix}/bin
-LIBDIR= ${exec_prefix}/lib
-MANDIR= ${datarootdir}/man
-INCLUDEDIR= ${prefix}/include
-CONFINCLUDEDIR= $(exec_prefix)/include
-SCRIPTDIR= $(prefix)/lib
-
-# Detailed destination directories
-BINLIBDEST= $(LIBDIR)/python$(VERSION)
-LIBDEST= $(SCRIPTDIR)/python$(VERSION)
-INCLUDEPY= $(INCLUDEDIR)/python$(VERSION)
-CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(VERSION)
-LIBP= $(LIBDIR)/python$(VERSION)
-
-# Symbols used for using shared libraries
-SO= .so
-LDSHARED= $(CC) -bundle -undefined dynamic_lookup $(LDFLAGS)
-BLDSHARED= $(CC) -bundle -undefined dynamic_lookup $(LDFLAGS)
-LDCXXSHARED= $(CXX) -bundle -undefined dynamic_lookup
-DESTSHARED= $(BINLIBDEST)/lib-dynload
-
-# Executable suffix (.exe on Windows and Mac OS X)
-EXE=
-BUILDEXE= .exe
-
-# Short name and location for Mac OS X Python framework
-UNIVERSALSDK=
-PYTHONFRAMEWORK= Python
-PYTHONFRAMEWORKDIR= Python.framework
-PYTHONFRAMEWORKPREFIX= /usr/local/Cellar/python/2.7.5/Frameworks
-PYTHONFRAMEWORKINSTALLDIR= /usr/local/Cellar/python/2.7.5/Frameworks/Python.framework
-# Deployment target selected during configure, to be checked
-# by distutils. The export statement is needed to ensure that the
-# deployment target is active during build.
-MACOSX_DEPLOYMENT_TARGET=10.8
-export MACOSX_DEPLOYMENT_TARGET
-
-# Options to enable prebinding (for fast startup prior to Mac OS X 10.3)
-OTHER_LIBTOOL_OPT=
-
-# Environment to run shared python without installed libraries
-RUNSHARED= DYLD_FRAMEWORK_PATH=/private/tmp/python-Yar9/Python-2.7.5:
-
-# Modes for directories, executables and data files created by the
-# install process. Default to user-only-writable for all file types.
-DIRMODE= 755
-EXEMODE= 755
-FILEMODE= 644
-
-# configure script arguments
-CONFIG_ARGS= '--prefix=/usr/local/Cellar/python/2.7.5' '--enable-ipv6' '--datarootdir=/usr/local/Cellar/python/2.7.5/share' '--datadir=/usr/local/Cellar/python/2.7.5/share' '--enable-framework=/usr/local/Cellar/python/2.7.5/Frameworks' '--without-gcc' 'CFLAGS=-I/usr/local/include -I/usr/local/opt/sqlite/include' 'LDFLAGS=-L/usr/local/lib -L/usr/local/opt/sqlite/lib' 'MACOSX_DEPLOYMENT_TARGET=10.8' 'CC=cc'
-
-
-# Subdirectories with code
-SRCDIRS= Parser Grammar Objects Python Modules Mac
-
-# Other subdirectories
-SUBDIRSTOO= Include Lib Misc Demo
-
-# Files and directories to be distributed
-CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in
-DISTFILES= README ChangeLog $(CONFIGFILES)
-DISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy
-DIST= $(DISTFILES) $(DISTDIRS)
-
-
-LIBRARY= libpython$(VERSION).a
-LDLIBRARY= $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)
-BLDLIBRARY=
-DLLLIBRARY=
-LDLIBRARYDIR=
-INSTSONAME= $(LDLIBRARY)
-
-
-LIBS= -ldl -framework CoreFoundation
-LIBM=
-LIBC=
-SYSLIBS= $(LIBM) $(LIBC)
-SHLIBS= $(LIBS)
-
-THREADOBJ= Python/thread.o
-DLINCLDIR= .
-DYNLOADFILE= dynload_shlib.o
-MACHDEP_OBJS= Python/mactoolboxglue.o
-LIBOBJDIR= Python/
-LIBOBJS=
-UNICODE_OBJS= Objects/unicodeobject.o Objects/unicodectype.o
-
-PYTHON= python$(EXE)
-BUILDPYTHON= python$(BUILDEXE)
-
-PYTHON_FOR_BUILD=./$(BUILDPYTHON) -E
-_PYTHON_HOST_PLATFORM=
-HOST_GNU_TYPE= x86_64-apple-darwin12.5.0
-
-# The task to run while instrument when building the profile-opt target
-PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck
-#PROFILE_TASK= $(srcdir)/Lib/test/regrtest.py
-
-# === Definitions added by makesetup ===
-
-LOCALMODLIBS=
-BASEMODLIBS=
-GLHACK=-Dclear=__GLclear
-PYTHONPATH=$(COREPYTHONPATH)
-COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(EXTRAMACHDEPPATH)$(TKPATH)$(OLDPATH)
-OLDPATH=:lib-old
-TKPATH=:lib-tk
-EXTRAMACHDEPPATH=
-MACHDEPPATH=:plat-$(MACHDEP)
-TESTPATH=
-SITEPATH=
-DESTPATH=
-MACHDESTLIB=$(BINLIBDEST)
-DESTLIB=$(LIBDEST)
-
-
-##########################################################################
-# Modules
-MODULE_OBJS= \
- Modules/config.o \
- Modules/getpath.o \
- Modules/main.o \
- Modules/gcmodule.o
-
-# Used of signalmodule.o is not available
-SIGNAL_OBJS=
-
-
-##########################################################################
-# Grammar
-GRAMMAR_H= Include/graminit.h
-GRAMMAR_C= Python/graminit.c
-GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar
-
-
-LIBFFI_INCLUDEDIR=
-
-##########################################################################
-# Parser
-PGEN= Parser/pgen$(EXE)
-
-PSRCS= \
- Parser/acceler.c \
- Parser/grammar1.c \
- Parser/listnode.c \
- Parser/node.c \
- Parser/parser.c \
- Parser/parsetok.c \
- Parser/bitset.c \
- Parser/metagrammar.c \
- Parser/firstsets.c \
- Parser/grammar.c \
- Parser/pgen.c
-
-POBJS= \
- Parser/acceler.o \
- Parser/grammar1.o \
- Parser/listnode.o \
- Parser/node.o \
- Parser/parser.o \
- Parser/parsetok.o \
- Parser/bitset.o \
- Parser/metagrammar.o \
- Parser/firstsets.o \
- Parser/grammar.o \
- Parser/pgen.o
-
-PARSER_OBJS= $(POBJS) Parser/myreadline.o Parser/tokenizer.o
-
-PGSRCS= \
- Objects/obmalloc.c \
- Python/mysnprintf.c \
- Python/pyctype.c \
- Parser/tokenizer_pgen.c \
- Parser/printgrammar.c \
- Parser/pgenmain.c
-
-PGOBJS= \
- Objects/obmalloc.o \
- Python/mysnprintf.o \
- Python/pyctype.o \
- Parser/tokenizer_pgen.o \
- Parser/printgrammar.o \
- Parser/pgenmain.o
-
-PARSER_HEADERS= \
- Parser/parser.h \
- Parser/tokenizer.h
-
-PGENSRCS= $(PSRCS) $(PGSRCS)
-PGENOBJS= $(POBJS) $(PGOBJS)
-
-##########################################################################
-# AST
-AST_H_DIR= Include
-AST_H= $(AST_H_DIR)/Python-ast.h
-AST_C_DIR= Python
-AST_C= $(AST_C_DIR)/Python-ast.c
-AST_ASDL= $(srcdir)/Parser/Python.asdl
-
-ASDLGEN_FILES= $(srcdir)/Parser/asdl.py $(srcdir)/Parser/asdl_c.py
-# XXX Note that a build now requires Python exist before the build starts
-ASDLGEN= $(srcdir)/Parser/asdl_c.py
-
-##########################################################################
-# Python
-PYTHON_OBJS= \
- Python/_warnings.o \
- Python/Python-ast.o \
- Python/asdl.o \
- Python/ast.o \
- Python/bltinmodule.o \
- Python/ceval.o \
- Python/compile.o \
- Python/codecs.o \
- Python/errors.o \
- Python/frozen.o \
- Python/frozenmain.o \
- Python/future.o \
- Python/getargs.o \
- Python/getcompiler.o \
- Python/getcopyright.o \
- Python/getplatform.o \
- Python/getversion.o \
- Python/graminit.o \
- Python/import.o \
- Python/importdl.o \
- Python/marshal.o \
- Python/modsupport.o \
- Python/mystrtoul.o \
- Python/mysnprintf.o \
- Python/peephole.o \
- Python/pyarena.o \
- Python/pyctype.o \
- Python/pyfpe.o \
- Python/pymath.o \
- Python/pystate.o \
- Python/pythonrun.o \
- Python/random.o \
- Python/structmember.o \
- Python/symtable.o \
- Python/sysmodule.o \
- Python/traceback.o \
- Python/getopt.o \
- Python/pystrcmp.o \
- Python/pystrtod.o \
- Python/dtoa.o \
- Python/formatter_unicode.o \
- Python/formatter_string.o \
- Python/$(DYNLOADFILE) \
- $(LIBOBJS) \
- $(MACHDEP_OBJS) \
- $(THREADOBJ)
-
-
-##########################################################################
-# Objects
-OBJECT_OBJS= \
- Objects/abstract.o \
- Objects/boolobject.o \
- Objects/bufferobject.o \
- Objects/bytes_methods.o \
- Objects/bytearrayobject.o \
- Objects/capsule.o \
- Objects/cellobject.o \
- Objects/classobject.o \
- Objects/cobject.o \
- Objects/codeobject.o \
- Objects/complexobject.o \
- Objects/descrobject.o \
- Objects/enumobject.o \
- Objects/exceptions.o \
- Objects/genobject.o \
- Objects/fileobject.o \
- Objects/floatobject.o \
- Objects/frameobject.o \
- Objects/funcobject.o \
- Objects/intobject.o \
- Objects/iterobject.o \
- Objects/listobject.o \
- Objects/longobject.o \
- Objects/dictobject.o \
- Objects/memoryobject.o \
- Objects/methodobject.o \
- Objects/moduleobject.o \
- Objects/object.o \
- Objects/obmalloc.o \
- Objects/rangeobject.o \
- Objects/setobject.o \
- Objects/sliceobject.o \
- Objects/stringobject.o \
- Objects/structseq.o \
- Objects/tupleobject.o \
- Objects/typeobject.o \
- Objects/weakrefobject.o \
- $(UNICODE_OBJS)
-
-
-##########################################################################
-# objects that get linked into the Python library
-LIBRARY_OBJS= \
- Modules/getbuildinfo.o \
- $(PARSER_OBJS) \
- $(OBJECT_OBJS) \
- $(PYTHON_OBJS) \
- $(MODULE_OBJS) \
- $(SIGNAL_OBJS) \
- $(MODOBJS)
-
-#########################################################################
-# Rules
-
-# Default target
-all: build_all
-build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks
-
-# Compile a binary with gcc profile guided optimization.
-profile-opt:
- @echo "Building with support for profile generation:"
- $(MAKE) clean
- $(MAKE) build_all_generate_profile
- @echo "Running benchmark to generate profile data:"
- $(MAKE) profile-removal
- $(MAKE) run_profile_task
- @echo "Rebuilding with profile guided optimizations:"
- $(MAKE) clean
- $(MAKE) build_all_use_profile
-
-build_all_generate_profile:
- $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-generate" LIBS="$(LIBS) -lgcov"
-
-run_profile_task:
- : # FIXME: can't run for a cross build
- ./$(BUILDPYTHON) $(PROFILE_TASK)
-
-build_all_use_profile:
- $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use"
-
-coverage:
- @echo "Building with support for coverage checking:"
- $(MAKE) clean
- $(MAKE) all CFLAGS="$(CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov"
-
-
-# Build the interpreter
-$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
- $(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
- Modules/python.o \
- $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
-
-platform: $(BUILDPYTHON) pybuilddir.txt
- $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
-
-# Create build directory and generate the sysconfig build-time data there.
-# pybuilddir.txt contains the name of the build dir and is used for
-# sys.path fixup -- see Modules/getpath.c.
-pybuilddir.txt: $(BUILDPYTHON)
- $(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars
-
-# Build the shared modules
-# Under GNU make, MAKEFLAGS are sorted and normalized; the 's' for
-# -s, --silent or --quiet is always the first char.
-# Under BSD make, MAKEFLAGS might be " -s -v x=y".
-sharedmods: $(BUILDPYTHON) pybuilddir.txt
- @case "$$MAKEFLAGS" in \
- *\ -s*|s*) quiet="-q";; \
- *) quiet="";; \
- esac; \
- $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
-
-# Build static library
-# avoid long command lines, same as LIBRARY_OBJS
-$(LIBRARY): $(LIBRARY_OBJS)
- -rm -f $@
- $(AR) $(ARFLAGS) $@ Modules/getbuildinfo.o
- $(AR) $(ARFLAGS) $@ $(PARSER_OBJS)
- $(AR) $(ARFLAGS) $@ $(OBJECT_OBJS)
- $(AR) $(ARFLAGS) $@ $(PYTHON_OBJS)
- $(AR) $(ARFLAGS) $@ $(MODULE_OBJS) $(SIGNAL_OBJS)
- $(AR) $(ARFLAGS) $@ $(MODOBJS)
- $(RANLIB) $@
-
-libpython$(VERSION).so: $(LIBRARY_OBJS)
- if test $(INSTSONAME) != $(LDLIBRARY); then \
- $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
- $(LN) -f $(INSTSONAME) $@; \
- else \
- $(BLDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
- fi
-
-libpython$(VERSION).dylib: $(LIBRARY_OBJS)
- $(CC) -dynamiclib -Wl,-single_module $(LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(VERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-
-
-libpython$(VERSION).sl: $(LIBRARY_OBJS)
- $(LDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST)
-
-# Copy up the gdb python hooks into a position where they can be automatically
-# loaded by gdb during Lib/test/test_gdb.py
-#
-# Distributors are likely to want to install this somewhere else e.g. relative
-# to the stripped DWARF data for the shared library.
-gdbhooks: $(BUILDPYTHON)-gdb.py
-
-SRC_GDB_HOOKS=$(srcdir)/Tools/gdb/libpython.py
-$(BUILDPYTHON)-gdb.py: $(SRC_GDB_HOOKS)
- $(INSTALL_DATA) $(SRC_GDB_HOOKS) $(BUILDPYTHON)-gdb.py
-
-# This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary
-# minimal framework (not including the Lib directory and such) in the current
-# directory.
-RESSRCDIR=Mac/Resources/framework
-$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \
- $(LIBRARY) \
- $(RESSRCDIR)/Info.plist
- $(INSTALL) -d -m $(DIRMODE) $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)
- $(CC) -o $(LDLIBRARY) $(LDFLAGS) -dynamiclib \
- -all_load $(LIBRARY) -Wl,-single_module \
- -install_name $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK) \
- -compatibility_version $(VERSION) \
- -current_version $(VERSION);
- $(INSTALL) -d -m $(DIRMODE) \
- $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/English.lproj
- $(INSTALL_DATA) $(RESSRCDIR)/Info.plist \
- $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/Info.plist
- $(LN) -fsn $(VERSION) $(PYTHONFRAMEWORKDIR)/Versions/Current
- $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)
- $(LN) -fsn Versions/Current/Headers $(PYTHONFRAMEWORKDIR)/Headers
- $(LN) -fsn Versions/Current/Resources $(PYTHONFRAMEWORKDIR)/Resources
-
-# This rule builds the Cygwin Python DLL and import library if configured
-# for a shared core library; otherwise, this rule is a noop.
-$(DLLLIBRARY) libpython$(VERSION).dll.a: $(LIBRARY_OBJS)
- if test -n "$(DLLLIBRARY)"; then \
- $(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \
- $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST); \
- else true; \
- fi
-
-
-oldsharedmods: $(SHAREDMODS)
-
-
-Makefile Modules/config.c: Makefile.pre \
- $(srcdir)/Modules/config.c.in \
- $(MAKESETUP) \
- Modules/Setup.config \
- Modules/Setup \
- Modules/Setup.local
- $(SHELL) $(MAKESETUP) -c $(srcdir)/Modules/config.c.in \
- -s Modules \
- Modules/Setup.config \
- Modules/Setup.local \
- Modules/Setup
- @mv config.c Modules
- @echo "The Makefile was updated, you may need to re-run make."
-
-
-Modules/Setup: $(srcdir)/Modules/Setup.dist
- @if test -f Modules/Setup; then \
- echo "-----------------------------------------------"; \
- echo "Modules/Setup.dist is newer than Modules/Setup;"; \
- echo "check to make sure you have all the updates you"; \
- echo "need in your Modules/Setup file."; \
- echo "Usually, copying Modules/Setup.dist to Modules/Setup will work."; \
- echo "-----------------------------------------------"; \
- fi
-
-############################################################################
-# Special rules for object files
-
-Modules/getbuildinfo.o: $(PARSER_OBJS) \
- $(OBJECT_OBJS) \
- $(PYTHON_OBJS) \
- $(MODULE_OBJS) \
- $(SIGNAL_OBJS) \
- $(MODOBJS) \
- $(srcdir)/Modules/getbuildinfo.c
- $(CC) -c $(PY_CFLAGS) \
- -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" \
- -DHGVERSION="\"`LC_ALL=C $(HGVERSION)`\"" \
- -DHGTAG="\"`LC_ALL=C $(HGTAG)`\"" \
- -DHGBRANCH="\"`LC_ALL=C $(HGBRANCH)`\"" \
- -o $@ $(srcdir)/Modules/getbuildinfo.c
-
-Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
- $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
- -DPREFIX='"$(prefix)"' \
- -DEXEC_PREFIX='"$(exec_prefix)"' \
- -DVERSION='"$(VERSION)"' \
- -DVPATH='"$(VPATH)"' \
- -o $@ $(srcdir)/Modules/getpath.c
-
-Modules/python.o: $(srcdir)/Modules/python.c
- $(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c
-
-Modules/posixmodule.o: $(srcdir)/Modules/posixmodule.c $(srcdir)/Modules/posixmodule.h
-
-Modules/grpmodule.o: $(srcdir)/Modules/grpmodule.c $(srcdir)/Modules/posixmodule.h
-
-Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c $(srcdir)/Modules/posixmodule.h
-
-$(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS)
- @$(MKDIR_P) Include
- $(MAKE) $(PGEN)
- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
-$(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS)
- $(MAKE) $(GRAMMAR_H)
- touch $(GRAMMAR_C)
-
-$(PGEN): $(PGENOBJS)
- $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
-
-Parser/grammar.o: $(srcdir)/Parser/grammar.c \
- $(srcdir)/Include/token.h \
- $(srcdir)/Include/grammar.h
-Parser/metagrammar.o: $(srcdir)/Parser/metagrammar.c
-
-Parser/tokenizer_pgen.o: $(srcdir)/Parser/tokenizer.c
-
-Parser/pgenmain.o: $(srcdir)/Include/parsetok.h
-
-$(AST_H): $(AST_ASDL) $(ASDLGEN_FILES)
- $(MKDIR_P) $(AST_H_DIR)
- $(ASDLGEN) -h $(AST_H_DIR) $(AST_ASDL)
-
-$(AST_C): $(AST_ASDL) $(ASDLGEN_FILES)
- $(MKDIR_P) $(AST_C_DIR)
- $(ASDLGEN) -c $(AST_C_DIR) $(AST_ASDL)
-
-Python/compile.o Python/symtable.o Python/ast.o: $(GRAMMAR_H) $(AST_H)
-
-Python/getplatform.o: $(srcdir)/Python/getplatform.c
- $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
-
-Python/importdl.o: $(srcdir)/Python/importdl.c
- $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
-
-Objects/unicodectype.o: $(srcdir)/Objects/unicodectype.c \
- $(srcdir)/Objects/unicodetype_db.h
-
-STRINGLIB_HEADERS= \
- $(srcdir)/Include/bytes_methods.h \
- $(srcdir)/Objects/stringlib/count.h \
- $(srcdir)/Objects/stringlib/ctype.h \
- $(srcdir)/Objects/stringlib/fastsearch.h \
- $(srcdir)/Objects/stringlib/find.h \
- $(srcdir)/Objects/stringlib/formatter.h \
- $(srcdir)/Objects/stringlib/partition.h \
- $(srcdir)/Objects/stringlib/split.h \
- $(srcdir)/Objects/stringlib/stringdefs.h \
- $(srcdir)/Objects/stringlib/string_format.h \
- $(srcdir)/Objects/stringlib/transmogrify.h \
- $(srcdir)/Objects/stringlib/unicodedefs.h \
- $(srcdir)/Objects/stringlib/localeutil.h
-
-Objects/unicodeobject.o: $(srcdir)/Objects/unicodeobject.c \
- $(STRINGLIB_HEADERS)
-
-Objects/bytearrayobject.o: $(srcdir)/Objects/bytearrayobject.c \
- $(STRINGLIB_HEADERS)
-
-Objects/stringobject.o: $(srcdir)/Objects/stringobject.c \
- $(STRINGLIB_HEADERS)
-
-Python/formatter_unicode.o: $(srcdir)/Python/formatter_unicode.c \
- $(STRINGLIB_HEADERS)
-
-Python/formatter_string.o: $(srcdir)/Python/formatter_string.c \
- $(STRINGLIB_HEADERS)
-
-############################################################################
-# Header files
-
-PYTHON_HEADERS= \
- Include/Python-ast.h \
- Include/Python.h \
- Include/abstract.h \
- Include/asdl.h \
- Include/ast.h \
- Include/bitset.h \
- Include/boolobject.h \
- Include/bytearrayobject.h \
- Include/bytes_methods.h \
- Include/bytesobject.h \
- Include/bufferobject.h \
- Include/cellobject.h \
- Include/ceval.h \
- Include/classobject.h \
- Include/cobject.h \
- Include/code.h \
- Include/codecs.h \
- Include/compile.h \
- Include/complexobject.h \
- Include/descrobject.h \
- Include/dictobject.h \
- Include/dtoa.h \
- Include/enumobject.h \
- Include/errcode.h \
- Include/eval.h \
- Include/fileobject.h \
- Include/floatobject.h \
- Include/frameobject.h \
- Include/funcobject.h \
- Include/genobject.h \
- Include/import.h \
- Include/intobject.h \
- Include/intrcheck.h \
- Include/iterobject.h \
- Include/listobject.h \
- Include/longintrepr.h \
- Include/longobject.h \
- Include/marshal.h \
- Include/memoryobject.h \
- Include/metagrammar.h \
- Include/methodobject.h \
- Include/modsupport.h \
- Include/moduleobject.h \
- Include/node.h \
- Include/object.h \
- Include/objimpl.h \
- Include/opcode.h \
- Include/osdefs.h \
- Include/parsetok.h \
- Include/patchlevel.h \
- Include/pgen.h \
- Include/pgenheaders.h \
- Include/pyarena.h \
- Include/pycapsule.h \
- Include/pyctype.h \
- Include/pydebug.h \
- Include/pyerrors.h \
- Include/pyfpe.h \
- Include/pymath.h \
- Include/pygetopt.h \
- Include/pymem.h \
- Include/pyport.h \
- Include/pystate.h \
- Include/pystrcmp.h \
- Include/pystrtod.h \
- Include/pythonrun.h \
- Include/pythread.h \
- Include/rangeobject.h \
- Include/setobject.h \
- Include/sliceobject.h \
- Include/stringobject.h \
- Include/structmember.h \
- Include/structseq.h \
- Include/symtable.h \
- Include/sysmodule.h \
- Include/traceback.h \
- Include/tupleobject.h \
- Include/ucnhash.h \
- Include/unicodeobject.h \
- Include/warnings.h \
- Include/weakrefobject.h \
- pyconfig.h \
- $(PARSER_HEADERS)
-
-$(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS)
-
-
-######################################################################
-
-# Test the interpreter (twice, once without .pyc files, once with)
-# In the past, we've had problems where bugs in the marshalling or
-# elsewhere caused bytecode read from .pyc files to behave differently
-# than bytecode generated directly from a .py source file. Sometimes
-# the bytecode read from a .pyc file had the bug, sometimes the directly
-# generated bytecode. This is sometimes a very shy bug needing a lot of
-# sample data.
-
-TESTOPTS= -l $(EXTRATESTOPTS)
-TESTPROG= $(srcdir)/Lib/test/regrtest.py
-TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -Wd -3 -E -tt $(TESTPYTHONOPTS)
-test: all platform
- -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
- -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
- $(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
-
-testall: all platform
- -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
- $(TESTPYTHON) $(srcdir)/Lib/compileall.py
- -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
- -$(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS)
- $(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS)
-
-# Run the unitests for both architectures in a Universal build on OSX
-# Must be run on an Intel box.
-testuniversal: all platform
- if [ `arch` != 'i386' ];then \
- echo "This can only be used on OSX/i386" ;\
- exit 1 ;\
- fi
- -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
- -$(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS)
- $(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS)
- $(RUNSHARED) /usr/libexec/oah/translate ./$(BUILDPYTHON) -E -tt $(TESTPROG) -uall $(TESTOPTS)
-
-
-# Like testall, but with a single pass only
-# run an optional script to include some information about the build environment
-buildbottest: all platform
- -@if which pybuildbot.identify >/dev/null 2>&1; then \
- pybuildbot.identify "CC='$(CC)'" "CXX='$(CXX)'"; \
- fi
- $(TESTPYTHON) -R $(TESTPROG) -uall -rwW $(TESTOPTS)
-
-QUICKTESTOPTS= $(TESTOPTS) -x test_subprocess test_io test_lib2to3 \
- test_multibytecodec test_urllib2_localnet test_itertools \
- test_multiprocessing test_mailbox test_socket test_poll \
- test_select test_zipfile
-quicktest: all platform
- -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
- -$(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS)
- $(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS)
-
-MEMTESTOPTS= $(QUICKTESTOPTS) -x test_dl test___all__ test_fork1 \
- test_longexp
-memtest: all platform
- -rm -f $(srcdir)/Lib/test/*.py[co]
- -$(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
- $(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
-
-# Install everything
-install: frameworkinstallstructure altinstall bininstall maninstall frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools
-
-# Install almost everything without disturbing previous versions
-altinstall: frameworkinstallstructure bininstall maninstall altbininstall libinstall inclinstall \
- libainstall altmaninstall \
- sharedinstall oldsharedinstall frameworkinstallmaclib frameworkinstallapps frameworkaltinstallunixtools
-
-# Install shared libraries enabled by Setup
-DESTDIRS= $(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED)
-
-oldsharedinstall: $(DESTSHARED) $(SHAREDMODS)
- @for i in X $(SHAREDMODS); do \
- if test $$i != X; then \
- echo $(INSTALL_SHARED) $$i $(DESTSHARED)/`basename $$i`; \
- $(INSTALL_SHARED) $$i $(DESTDIR)$(DESTSHARED)/`basename $$i`; \
- fi; \
- done
-
-$(DESTSHARED):
- @for i in $(DESTDIRS); \
- do \
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
-
-
-# Install the interpreter by creating a symlink chain:
-# $(PYTHON) -> python2 -> python$(VERSION))
-# Also create equivalent chains for other installed files
-bininstall: altbininstall
- -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \
- then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
- else true; \
- fi
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON))
- -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE)
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE))
- -rm -f $(DESTDIR)$(BINDIR)/python2-config
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python2-config)
- -rm -f $(DESTDIR)$(BINDIR)/python-config
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2-config python-config)
- -test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC)
- -rm -f $(DESTDIR)$(LIBPC)/python2.pc
- (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python2.pc)
- -rm -f $(DESTDIR)$(LIBPC)/python.pc
- (cd $(DESTDIR)$(LIBPC); $(LN) -s python2.pc python.pc)
-
-# Install the interpreter with $(VERSION) affixed
-# This goes into $(exec_prefix)
-altbininstall: $(BUILDPYTHON)
- @for i in $(BINDIR) $(LIBDIR); \
- do \
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
- $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE)
- if test -f $(LDLIBRARY); then \
- if test -n "$(DLLLIBRARY)" ; then \
- $(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
- else \
- $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
- if test $(LDLIBRARY) != $(INSTSONAME); then \
- (cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \
- fi \
- fi; \
- else true; \
- fi
-
-# Install the versioned manual page
-altmaninstall:
- @for i in $(MANDIR) $(MANDIR)/man1; \
- do \
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
- $(INSTALL_DATA) $(srcdir)/Misc/python.man \
- $(DESTDIR)$(MANDIR)/man1/python$(VERSION).1
-
-# Install the unversioned manual pages
-maninstall: altmaninstall
- -rm -f $(DESTDIR)$(MANDIR)/man1/python2.1
- (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python$(VERSION).1 python2.1)
- -rm -f $(DESTDIR)$(MANDIR)/man1/python.1
- (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python2.1 python.1)
-
-# Install the library
-PLATDIR= plat-$(MACHDEP)
-EXTRAPLATDIR= $(PLATMACDIRS)
-EXTRAMACHDEPPATH=$(PLATMACPATH)
-MACHDEPS= $(PLATDIR) $(EXTRAPLATDIR)
-XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
-PLATMACDIRS= plat-mac plat-mac/Carbon plat-mac/lib-scriptpackages \
- plat-mac/lib-scriptpackages/_builtinSuites \
- plat-mac/lib-scriptpackages/CodeWarrior \
- plat-mac/lib-scriptpackages/Explorer \
- plat-mac/lib-scriptpackages/Finder \
- plat-mac/lib-scriptpackages/Netscape \
- plat-mac/lib-scriptpackages/StdSuites \
- plat-mac/lib-scriptpackages/SystemEvents \
- plat-mac/lib-scriptpackages/Terminal
-PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages
-LIBSUBDIRS= lib-tk lib-tk/test lib-tk/test/test_tkinter \
- lib-tk/test/test_ttk site-packages test test/data \
- test/cjkencodings test/decimaltestdata test/xmltestdata test/subprocessdata \
- test/tracedmodules \
- encodings compiler hotshot \
- email email/mime email/test email/test/data \
- json json/tests \
- sqlite3 sqlite3/test \
- logging bsddb bsddb/test csv importlib wsgiref \
- lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \
- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \
- ctypes ctypes/test ctypes/macholib idlelib idlelib/Icons \
- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \
- multiprocessing multiprocessing/dummy \
- unittest unittest/test \
- lib-old \
- curses pydoc_data $(MACHDEPS)
-libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
- @for i in $(SCRIPTDIR) $(LIBDEST); \
- do \
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
- @for d in $(LIBSUBDIRS); \
- do \
- a=$(srcdir)/Lib/$$d; \
- if test ! -d $$a; then continue; else true; fi; \
- b=$(LIBDEST)/$$d; \
- if test ! -d $(DESTDIR)$$b; then \
- echo "Creating directory $$b"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$b; \
- else true; \
- fi; \
- done
- @for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \
- do \
- if test -x $$i; then \
- $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \
- echo $(INSTALL_SCRIPT) $$i $(LIBDEST); \
- else \
- $(INSTALL_DATA) $$i $(DESTDIR)$(LIBDEST); \
- echo $(INSTALL_DATA) $$i $(LIBDEST); \
- fi; \
- done
- @for d in $(LIBSUBDIRS); \
- do \
- a=$(srcdir)/Lib/$$d; \
- if test ! -d $$a; then continue; else true; fi; \
- if test `ls $$a | wc -l` -lt 1; then continue; fi; \
- b=$(LIBDEST)/$$d; \
- for i in $$a/*; \
- do \
- case $$i in \
- *CVS) ;; \
- *.py[co]) ;; \
- *.orig) ;; \
- *~) ;; \
- *) \
- if test -d $$i; then continue; fi; \
- if test -x $$i; then \
- echo $(INSTALL_SCRIPT) $$i $$b; \
- $(INSTALL_SCRIPT) $$i $(DESTDIR)$$b; \
- else \
- echo $(INSTALL_DATA) $$i $$b; \
- $(INSTALL_DATA) $$i $(DESTDIR)$$b; \
- fi;; \
- esac; \
- done; \
- done
- $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
- if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \
- $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
- $(DESTDIR)$(LIBDEST)/distutils/tests ; \
- fi
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
-
-# Create the PLATDIR source directory, if one wasn't distributed..
-$(srcdir)/Lib/$(PLATDIR):
- mkdir $(srcdir)/Lib/$(PLATDIR)
- cp $(srcdir)/Lib/plat-generic/regen $(srcdir)/Lib/$(PLATDIR)/regen
- export PATH; PATH="`pwd`:$$PATH"; \
- export PYTHONPATH; PYTHONPATH="$(srcdir)/Lib:$(abs_builddir)/`cat pybuilddir.txt`"; \
- export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
- export EXE; EXE="$(BUILDEXE)"; \
- if [ -n "$(MULTIARCH)" ]; then export MULTIARCH; MULTIARCH=$(MULTIARCH); fi; \
- export PYTHON_FOR_BUILD; \
- if [ "$(build)" = "$(host)" ]; then \
- PYTHON_FOR_BUILD="$(BUILDPYTHON)"; \
- else \
- PYTHON_FOR_BUILD="$(PYTHON_FOR_BUILD)"; \
- fi; \
- cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen
-
-python-config: $(srcdir)/Misc/python-config.in
- # Substitution happens here, as the completely-expanded BINDIR
- # is not available in configure
- sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config
-
-# Install the include files
-INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
-inclinstall:
- @for i in $(INCLDIRSTOMAKE); \
- do \
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
- @for i in $(srcdir)/Include/*.h; \
- do \
- echo $(INSTALL_DATA) $$i $(INCLUDEPY); \
- $(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY); \
- done
- $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
-
-# Install the library and miscellaneous stuff needed for extending/embedding
-# This goes into $(exec_prefix)
-LIBPL= $(LIBP)/config
-
-# pkgconfig directory
-LIBPC= $(LIBDIR)/pkgconfig
-
-libainstall: all python-config
- @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \
- do \
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
- @if test -d $(LIBRARY); then :; else \
- if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
- if test "$(SO)" = .dll; then \
- $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \
- else \
- $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
- $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
- fi; \
- else \
- echo Skip install of $(LIBRARY) - use make frameworkinstall; \
- fi; \
- fi
- $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c
- $(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o
- $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
- $(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile
- $(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
- $(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
- $(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config
- $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc
- $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
- $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
- $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config
- rm python-config
- @if [ -s Modules/python.exp -a \
- "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
- echo; echo "Installing support files for building shared extension modules on AIX:"; \
- $(INSTALL_DATA) Modules/python.exp \
- $(DESTDIR)$(LIBPL)/python.exp; \
- echo; echo "$(LIBPL)/python.exp"; \
- $(INSTALL_SCRIPT) $(srcdir)/Modules/makexp_aix \
- $(DESTDIR)$(LIBPL)/makexp_aix; \
- echo "$(LIBPL)/makexp_aix"; \
- $(INSTALL_SCRIPT) $(srcdir)/Modules/ld_so_aix \
- $(DESTDIR)$(LIBPL)/ld_so_aix; \
- echo "$(LIBPL)/ld_so_aix"; \
- echo; echo "See Misc/AIX-NOTES for details."; \
- else true; \
- fi
- @case "$(MACHDEP)" in beos*) \
- echo; echo "Installing support files for building shared extension modules on BeOS:"; \
- $(INSTALL_DATA) Misc/BeOS-NOTES $(DESTDIR)$(LIBPL)/README; \
- echo; echo "$(LIBPL)/README"; \
- $(INSTALL_SCRIPT) Modules/ar_beos $(DESTDIR)$(LIBPL)/ar_beos; \
- echo "$(LIBPL)/ar_beos"; \
- $(INSTALL_SCRIPT) Modules/ld_so_beos $(DESTDIR)$(LIBPL)/ld_so_beos; \
- echo "$(LIBPL)/ld_so_beos"; \
- echo; echo "See Misc/BeOS-NOTES for details."; \
- ;; \
- esac
-
-# Install the dynamically loadable modules
-# This goes into $(exec_prefix)
-sharedinstall: sharedmods
- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
- --prefix=$(prefix) \
- --install-scripts=$(BINDIR) \
- --install-platlib=$(DESTSHARED) \
- --root=$(DESTDIR)/
- -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata.py*
-
-# Here are a couple of targets for MacOSX again, to install a full
-# framework-based Python. frameworkinstall installs everything, the
-# subtargets install specific parts. Much of the actual work is offloaded to
-# the Makefile in Mac
-#
-#
-# This target is here for backward compatiblity, previous versions of Python
-# hadn't integrated framework installation in the normal install process.
-frameworkinstall: install
-
-# On install, we re-make the framework
-# structure in the install location, /Library/Frameworks/ or the argument to
-# --enable-framework. If --enable-framework has been specified then we have
-# automatically set prefix to the location deep down in the framework, so we
-# only have to cater for the structural bits of the framework.
-
-frameworkinstallframework: frameworkinstallstructure install frameworkinstallmaclib
-
-frameworkinstallstructure: $(LDLIBRARY)
- @if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
- echo Not configured with --enable-framework; \
- exit 1; \
- else true; \
- fi
- @for i in $(prefix)/Resources/English.lproj $(prefix)/lib; do\
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $(DESTDIR)$$i"; \
- $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
- else true; \
- fi; \
- done
- $(LN) -fsn include/python$(VERSION) $(DESTDIR)$(prefix)/Headers
- sed 's/%VERSION%/'"`$(RUNSHARED) ./$(BUILDPYTHON) -c 'import platform; print platform.python_version()'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist
- $(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current
- $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/$(PYTHONFRAMEWORK)
- $(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers
- $(LN) -fsn Versions/Current/Resources $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Resources
- $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(PYTHONFRAMEWORKPREFIX)/$(LDLIBRARY)
-
-# This installs Mac/Lib into the framework
-# Install a number of symlinks to keep software that expects a normal unix
-# install (which includes python-config) happy.
-frameworkinstallmaclib:
- ln -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/python$(VERSION)/config/libpython$(VERSION).a"
- ln -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/python$(VERSION)/config/libpython$(VERSION).dylib"
- ln -fs "../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/libpython$(VERSION).dylib"
- cd Mac && $(MAKE) installmacsubtree DESTDIR="$(DESTDIR)"
-
-# This installs the IDE, the Launcher and other apps into /Applications
-frameworkinstallapps:
- cd Mac && $(MAKE) installapps DESTDIR="$(DESTDIR)"
-
-# This install the unix python and pythonw tools in /usr/local/bin
-frameworkinstallunixtools:
- cd Mac && $(MAKE) installunixtools DESTDIR="$(DESTDIR)"
-
-frameworkaltinstallunixtools:
- cd Mac && $(MAKE) altinstallunixtools DESTDIR="$(DESTDIR)"
-
-# This installs the Demos and Tools into the applications directory.
-# It is not part of a normal frameworkinstall
-frameworkinstallextras:
- cd Mac && $(MAKE) installextras DESTDIR="$(DESTDIR)"
-
-# This installs a few of the useful scripts in Tools/scripts
-scriptsinstall:
- SRCDIR=$(srcdir) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/setup.py install \
- --prefix=$(prefix) \
- --install-scripts=$(BINDIR) \
- --root=$(DESTDIR)/
-
-# Build the toplevel Makefile
-Makefile.pre: Makefile.pre.in config.status
- CONFIG_FILES=Makefile.pre CONFIG_HEADERS= $(SHELL) config.status
- $(MAKE) -f Makefile.pre Makefile
-
-# Run the configure script.
-config.status: $(srcdir)/configure
- $(SHELL) $(srcdir)/configure $(CONFIG_ARGS)
-
-.PRECIOUS: config.status $(BUILDPYTHON) Makefile Makefile.pre
-
-# Some make's put the object file in the current directory
-.c.o:
- $(CC) -c $(PY_CFLAGS) -o $@ $<
-
-# Run reindent on the library
-reindent:
- ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib
-
-# Rerun configure with the same options as it was run last time,
-# provided the config.status script exists
-recheck:
- $(SHELL) config.status --recheck
- $(SHELL) config.status
-
-# Rebuild the configure script from configure.ac; also rebuild pyconfig.h.in
-autoconf:
- (cd $(srcdir); autoconf)
- (cd $(srcdir); autoheader)
-
-# Create a tags file for vi
-tags::
- cd $(srcdir); \
- ctags -w -t Include/*.h; \
- for i in $(SRCDIRS); do ctags -w -t -a $$i/*.[ch]; \
- done; \
- sort -o tags tags
-
-# Create a tags file for GNU Emacs
-TAGS::
- cd $(srcdir); \
- etags Include/*.h; \
- for i in $(SRCDIRS); do etags -a $$i/*.[ch]; done
-
-# Touch generated files
-touch:
- touch Include/Python-ast.h Python/Python-ast.c
-
-# Sanitation targets -- clean leaves libraries, executables and tags
-# files, which clobber removes as well
-pycremoval:
- find $(srcdir) -name '*.py[co]' -exec rm -f {} ';'
-
-clean: pycremoval
- find . -name '*.[oa]' -exec rm -f {} ';'
- find . -name '*.s[ol]' -exec rm -f {} ';'
- find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
- find build -name 'fficonfig.h' -exec rm -f {} ';' || true
- find build -name 'fficonfig.py' -exec rm -f {} ';' || true
- -rm -f Lib/lib2to3/*Grammar*.pickle
-
-profile-removal:
- find . -name '*.gc??' -exec rm -f {} ';'
-
-clobber: clean profile-removal
- -rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
- tags TAGS \
- config.cache config.log pyconfig.h Modules/config.c
- -rm -rf build platform
- -rm -rf $(PYTHONFRAMEWORKDIR)
-
-# Make things extra clean, before making a distribution:
-# remove all generated files, even Makefile[.pre]
-# Keep configure and Python-ast.[ch], it's possible they can't be generated
-distclean: clobber
- for file in Lib/test/data/* ; do \
- if test "$$file" != "Lib/test/data/README"; then rm "$$file"; fi; \
- done
- -rm -f core Makefile Makefile.pre config.status \
- Modules/Setup Modules/Setup.local Modules/Setup.config \
- Modules/ld_so_aix Modules/python.exp Misc/python.pc
- -rm -f python*-gdb.py
- -rm -f pybuilddir.txt
- find $(srcdir) '(' -name '*.fdc' -o -name '*~' \
- -o -name '[@,#]*' -o -name '*.old' \
- -o -name '*.orig' -o -name '*.rej' \
- -o -name '*.bak' ')' \
- -exec rm -f {} ';'
-
-# Check for smelly exported symbols (not starting with Py/_Py)
-smelly: all
- nm -p $(LIBRARY) | \
- sed -n "/ [TDB] /s/.* //p" | grep -v "^_*Py" | sort -u; \
-
-# Find files with funny names
-funny:
- find $(SUBDIRS) $(SUBDIRSTOO) -type d \
- -o -name '*.[chs]' \
- -o -name '*.py' \
- -o -name '*.doc' \
- -o -name '*.sty' \
- -o -name '*.bib' \
- -o -name '*.dat' \
- -o -name '*.el' \
- -o -name '*.fd' \
- -o -name '*.in' \
- -o -name '*.tex' \
- -o -name '*,[vpt]' \
- -o -name 'Setup' \
- -o -name 'Setup.*' \
- -o -name README \
- -o -name Makefile \
- -o -name ChangeLog \
- -o -name Repository \
- -o -name Root \
- -o -name Entries \
- -o -name Tag \
- -o -name tags \
- -o -name TAGS \
- -o -name .cvsignore \
- -o -name MANIFEST \
- -o -print
-
-# Perform some verification checks on any modified files.
-patchcheck:
- $(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py
-
-# Dependencies
-
-Python/thread.o: $(srcdir)/Python/thread_atheos.h $(srcdir)/Python/thread_beos.h $(srcdir)/Python/thread_cthread.h $(srcdir)/Python/thread_foobar.h $(srcdir)/Python/thread_lwp.h $(srcdir)/Python/thread_nt.h $(srcdir)/Python/thread_os2.h $(srcdir)/Python/thread_pth.h $(srcdir)/Python/thread_pthread.h $(srcdir)/Python/thread_sgi.h $(srcdir)/Python/thread_solaris.h $(srcdir)/Python/thread_wince.h
-
-# Declare targets that aren't real files
-.PHONY: all build_all sharedmods oldsharedmods test quicktest memtest
-.PHONY: install altinstall oldsharedinstall bininstall altbininstall
-.PHONY: maninstall libinstall inclinstall libainstall sharedinstall
-.PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure
-.PHONY: frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools
-.PHONY: frameworkaltinstallunixtools recheck autoconf clean clobber distclean
-.PHONY: smelly funny patchcheck touch altmaninstall
-.PHONY: gdbhooks
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
-
-# Rules appended by makedepend
-
-Modules/threadmodule.o: $(srcdir)/Modules/threadmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/threadmodule.c -o Modules/threadmodule.o
-Modules/threadmodule$(SO): Modules/threadmodule.o; $(BLDSHARED) Modules/threadmodule.o -o Modules/threadmodule$(SO)
-Modules/signalmodule.o: $(srcdir)/Modules/signalmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/signalmodule.c -o Modules/signalmodule.o
-Modules/signalmodule$(SO): Modules/signalmodule.o; $(BLDSHARED) Modules/signalmodule.o -o Modules/signalmodule$(SO)
-Modules/posixmodule.o: $(srcdir)/Modules/posixmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/posixmodule.c -o Modules/posixmodule.o
-Modules/posixmodule$(SO): Modules/posixmodule.o; $(BLDSHARED) Modules/posixmodule.o -o Modules/posixmodule$(SO)
-Modules/errnomodule.o: $(srcdir)/Modules/errnomodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/errnomodule.c -o Modules/errnomodule.o
-Modules/errnomodule$(SO): Modules/errnomodule.o; $(BLDSHARED) Modules/errnomodule.o -o Modules/errnomodule$(SO)
-Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/pwdmodule.c -o Modules/pwdmodule.o
-Modules/pwdmodule$(SO): Modules/pwdmodule.o; $(BLDSHARED) Modules/pwdmodule.o -o Modules/pwdmodule$(SO)
-Modules/_sre.o: $(srcdir)/Modules/_sre.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_sre.c -o Modules/_sre.o
-Modules/_sre$(SO): Modules/_sre.o; $(BLDSHARED) Modules/_sre.o -o Modules/_sre$(SO)
-Modules/_codecsmodule.o: $(srcdir)/Modules/_codecsmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_codecsmodule.c -o Modules/_codecsmodule.o
-Modules/_codecsmodule$(SO): Modules/_codecsmodule.o; $(BLDSHARED) Modules/_codecsmodule.o -o Modules/_codecsmodule$(SO)
-Modules/_weakref.o: $(srcdir)/Modules/_weakref.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_weakref.c -o Modules/_weakref.o
-Modules/_weakref$(SO): Modules/_weakref.o; $(BLDSHARED) Modules/_weakref.o -o Modules/_weakref$(SO)
-Modules/zipimport.o: $(srcdir)/Modules/zipimport.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/zipimport.c -o Modules/zipimport.o
-Modules/zipimport$(SO): Modules/zipimport.o; $(BLDSHARED) Modules/zipimport.o -o Modules/zipimport$(SO)
-Modules/symtablemodule.o: $(srcdir)/Modules/symtablemodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/symtablemodule.c -o Modules/symtablemodule.o
-Modules/_symtablemodule$(SO): Modules/symtablemodule.o; $(BLDSHARED) Modules/symtablemodule.o -o Modules/_symtablemodule$(SO)
-Modules/xxsubtype.o: $(srcdir)/Modules/xxsubtype.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/xxsubtype.c -o Modules/xxsubtype.o
-Modules/xxsubtype$(SO): Modules/xxsubtype.o; $(BLDSHARED) Modules/xxsubtype.o -o Modules/xxsubtype$(SO)
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Setup b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Setup
deleted file mode 100644
index 2ad1aa3..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Setup
+++ /dev/null
@@ -1,499 +0,0 @@
-# -*- makefile -*-
-# The file Setup is used by the makesetup script to construct the files
-# Makefile and config.c, from Makefile.pre and config.c.in,
-# respectively. The file Setup itself is initially copied from
-# Setup.dist; once it exists it will not be overwritten, so you can edit
-# Setup to your heart's content. Note that Makefile.pre is created
-# from Makefile.pre.in by the toplevel configure script.
-
-# (VPATH notes: Setup and Makefile.pre are in the build directory, as
-# are Makefile and config.c; the *.in and *.dist files are in the source
-# directory.)
-
-# Each line in this file describes one or more optional modules.
-# Modules enabled here will not be compiled by the setup.py script,
-# so the file can be used to override setup.py's behavior.
-
-# Lines have the following structure:
-#
-# ... [ ...] [ ...] [ ...]
-#
-# is anything ending in .c (.C, .cc, .c++ are C++ files)
-# is anything starting with -I, -D, -U or -C
-# is anything ending in .a or beginning with -l or -L
-# is anything else but should be a valid Python
-# identifier (letters, digits, underscores, beginning with non-digit)
-#
-# (As the makesetup script changes, it may recognize some other
-# arguments as well, e.g. *.so and *.sl as libraries. See the big
-# case statement in the makesetup script.)
-#
-# Lines can also have the form
-#
-# =
-#
-# which defines a Make variable definition inserted into Makefile.in
-#
-# Finally, if a line contains just the word "*shared*" (without the
-# quotes but with the stars), then the following modules will not be
-# built statically. The build process works like this:
-#
-# 1. Build all modules that are declared as static in Modules/Setup,
-# combine them into libpythonxy.a, combine that into python.
-# 2. Build all modules that are listed as shared in Modules/Setup.
-# 3. Invoke setup.py. That builds all modules that
-# a) are not builtin, and
-# b) are not listed in Modules/Setup, and
-# c) can be build on the target
-#
-# Therefore, modules declared to be shared will not be
-# included in the config.c file, nor in the list of objects to be
-# added to the library archive, and their linker options won't be
-# added to the linker options. Rules to create their .o files and
-# their shared libraries will still be added to the Makefile, and
-# their names will be collected in the Make variable SHAREDMODS. This
-# is used to build modules as shared libraries. (They can be
-# installed using "make sharedinstall", which is implied by the
-# toplevel "make install" target.) (For compatibility,
-# *noconfig* has the same effect as *shared*.)
-#
-# In addition, *static* explicitly declares the following modules to
-# be static. Lines containing "*static*" and "*shared*" may thus
-# alternate throughout this file.
-
-# NOTE: As a standard policy, as many modules as can be supported by a
-# platform should be present. The distribution comes with all modules
-# enabled that are supported by most platforms and don't require you
-# to ftp sources from elsewhere.
-
-
-# Some special rules to define PYTHONPATH.
-# Edit the definitions below to indicate which options you are using.
-# Don't add any whitespace or comments!
-
-# Directories where library files get installed.
-# DESTLIB is for Python modules; MACHDESTLIB for shared libraries.
-DESTLIB=$(LIBDEST)
-MACHDESTLIB=$(BINLIBDEST)
-
-# NOTE: all the paths are now relative to the prefix that is computed
-# at run time!
-
-# Standard path -- don't edit.
-# No leading colon since this is the first entry.
-# Empty since this is now just the runtime prefix.
-DESTPATH=
-
-# Site specific path components -- should begin with : if non-empty
-SITEPATH=
-
-# Standard path components for test modules
-TESTPATH=
-
-# Path components for machine- or system-dependent modules and shared libraries
-MACHDEPPATH=:plat-$(MACHDEP)
-EXTRAMACHDEPPATH=
-
-# Path component for the Tkinter-related modules
-# The TKPATH variable is always enabled, to save you the effort.
-TKPATH=:lib-tk
-
-# Path component for old modules.
-OLDPATH=:lib-old
-
-COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(EXTRAMACHDEPPATH)$(TKPATH)$(OLDPATH)
-PYTHONPATH=$(COREPYTHONPATH)
-
-
-# The modules listed here can't be built as shared libraries for
-# various reasons; therefore they are listed here instead of in the
-# normal order.
-
-# This only contains the minimal set of modules required to run the
-# setup.py script in the root of the Python source tree.
-
-posix posixmodule.c # posix (UNIX) system calls
-errno errnomodule.c # posix (UNIX) errno values
-pwd pwdmodule.c # this is needed to find out the user's home dir
- # if $HOME is not set
-_sre _sre.c # Fredrik Lundh's new regular expressions
-_codecs _codecsmodule.c # access to the builtin codecs and codec registry
-_weakref _weakref.c # weak references
-
-# The zipimport module is always imported at startup. Having it as a
-# builtin module avoids some bootstrapping problems and reduces overhead.
-zipimport zipimport.c
-
-# The rest of the modules listed in this file are all commented out by
-# default. Usually they can be detected and built as dynamically
-# loaded modules by the new setup.py script added in Python 2.1. If
-# you're on a platform that doesn't support dynamic loading, want to
-# compile modules statically into the Python binary, or need to
-# specify some odd set of compiler switches, you can uncomment the
-# appropriate lines below.
-
-# ======================================================================
-
-# The Python symtable module depends on .h files that setup.py doesn't track
-_symtable symtablemodule.c
-
-# The SGI specific GL module:
-
-GLHACK=-Dclear=__GLclear
-#gl glmodule.c cgensupport.c -I$(srcdir) $(GLHACK) -lgl -lX11
-
-# Pure module. Cannot be linked dynamically.
-# -DWITH_QUANTIFY, -DWITH_PURIFY, or -DWITH_ALL_PURE
-#WHICH_PURE_PRODUCTS=-DWITH_ALL_PURE
-#PURE_INCLS=-I/usr/local/include
-#PURE_STUBLIBS=-L/usr/local/lib -lpurify_stubs -lquantify_stubs
-#pure puremodule.c $(WHICH_PURE_PRODUCTS) $(PURE_INCLS) $(PURE_STUBLIBS)
-
-# Uncommenting the following line tells makesetup that all following
-# modules are to be built as shared libraries (see above for more
-# detail; also note that *static* reverses this effect):
-
-#*shared*
-
-# GNU readline. Unlike previous Python incarnations, GNU readline is
-# now incorporated in an optional module, configured in the Setup file
-# instead of by a configure script switch. You may have to insert a
-# -L option pointing to the directory where libreadline.* lives,
-# and you may have to change -ltermcap to -ltermlib or perhaps remove
-# it, depending on your system -- see the GNU readline instructions.
-# It's okay for this to be a shared library, too.
-
-#readline readline.c -lreadline -ltermcap
-
-
-# Modules that should always be present (non UNIX dependent):
-
-#array arraymodule.c # array objects
-#cmath cmathmodule.c _math.c # -lm # complex math library functions
-#math mathmodule.c _math.c # -lm # math library functions, e.g. sin()
-#_struct _struct.c # binary structure packing/unpacking
-#time timemodule.c # -lm # time operations and variables
-#operator operator.c # operator.add() and similar goodies
-#_testcapi _testcapimodule.c # Python C API test module
-#_random _randommodule.c # Random number generator
-#_collections _collectionsmodule.c # Container types
-#_heapq _heapqmodule.c # Heapq type
-#itertools itertoolsmodule.c # Functions creating iterators for efficient looping
-#strop stropmodule.c # String manipulations
-#_functools _functoolsmodule.c # Tools for working with functions and callable objects
-#_elementtree -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI _elementtree.c # elementtree accelerator
-#_pickle _pickle.c # pickle accelerator
-#datetime datetimemodule.c # date/time type
-#_bisect _bisectmodule.c # Bisection algorithms
-
-#unicodedata unicodedata.c # static Unicode character database
-
-# access to ISO C locale support
-#_locale _localemodule.c # -lintl
-
-# Standard I/O baseline
-#_io -I$(srcdir)/Modules/_io _io/bufferedio.c _io/bytesio.c _io/fileio.c _io/iobase.c _io/_iomodule.c _io/stringio.c _io/textio.c
-
-
-# Modules with some UNIX dependencies -- on by default:
-# (If you have a really backward UNIX, select and socket may not be
-# supported...)
-
-#fcntl fcntlmodule.c # fcntl(2) and ioctl(2)
-#spwd spwdmodule.c # spwd(3)
-#grp grpmodule.c # grp(3)
-#select selectmodule.c # select(2); not on ancient System V
-
-# Memory-mapped files (also works on Win32).
-#mmap mmapmodule.c
-
-# CSV file helper
-#_csv _csv.c
-
-# Socket module helper for socket(2)
-#_socket socketmodule.c timemodule.c
-
-# Socket module helper for SSL support; you must comment out the other
-# socket line above, and possibly edit the SSL variable:
-#SSL=/usr/local/ssl
-#_ssl _ssl.c \
-# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-# -L$(SSL)/lib -lssl -lcrypto
-
-# The crypt module is now disabled by default because it breaks builds
-# on many systems (where -lcrypt is needed), e.g. Linux (I believe).
-#
-# First, look at Setup.config; configure may have set this for you.
-
-#crypt cryptmodule.c # -lcrypt # crypt(3); needs -lcrypt on some systems
-
-
-# Some more UNIX dependent modules -- off by default, since these
-# are not supported by all UNIX systems:
-
-#nis nismodule.c -lnsl # Sun yellow pages -- not everywhere
-#termios termios.c # Steen Lumholt's termios module
-#resource resource.c # Jeremy Hylton's rlimit interface
-
-
-# Multimedia modules -- off by default.
-# These don't work for 64-bit platforms!!!
-# #993173 says audioop works on 64-bit platforms, though.
-# These represent audio samples or images as strings:
-
-#audioop audioop.c # Operations on audio samples
-#imageop imageop.c # Operations on images
-
-
-# Note that the _md5 and _sha modules are normally only built if the
-# system does not have the OpenSSL libs containing an optimized version.
-
-# The _md5 module implements the RSA Data Security, Inc. MD5
-# Message-Digest Algorithm, described in RFC 1321. The necessary files
-# md5.c and md5.h are included here.
-
-#_md5 md5module.c md5.c
-
-
-# The _sha module implements the SHA checksum algorithms.
-# (NIST's Secure Hash Algorithms.)
-#_sha shamodule.c
-#_sha256 sha256module.c
-#_sha512 sha512module.c
-
-
-# SGI IRIX specific modules -- off by default.
-
-# These module work on any SGI machine:
-
-# *** gl must be enabled higher up in this file ***
-#fm fmmodule.c $(GLHACK) -lfm -lgl # Font Manager
-#sgi sgimodule.c # sgi.nap() and a few more
-
-# This module requires the header file
-# /usr/people/4Dgifts/iristools/include/izoom.h:
-#imgfile imgfile.c -limage -lgutil -lgl -lm # Image Processing Utilities
-
-
-# These modules require the Multimedia Development Option (I think):
-
-#al almodule.c -laudio # Audio Library
-#cd cdmodule.c -lcdaudio -lds -lmediad # CD Audio Library
-#cl clmodule.c -lcl -lawareaudio # Compression Library
-#sv svmodule.c yuvconvert.c -lsvideo -lXext -lX11 # Starter Video
-
-
-# The FORMS library, by Mark Overmars, implements user interface
-# components such as dialogs and buttons using SGI's GL and FM
-# libraries. You must ftp the FORMS library separately from
-# ftp://ftp.cs.ruu.nl/pub/SGI/FORMS. It was tested with FORMS 2.2a.
-# NOTE: if you want to be able to use FORMS and curses simultaneously
-# (or both link them statically into the same binary), you must
-# compile all of FORMS with the cc option "-Dclear=__GLclear".
-
-# The FORMS variable must point to the FORMS subdirectory of the forms
-# toplevel directory:
-
-#FORMS=/ufs/guido/src/forms/FORMS
-#fl flmodule.c -I$(FORMS) $(GLHACK) $(FORMS)/libforms.a -lfm -lgl
-
-
-# SunOS specific modules -- off by default:
-
-#sunaudiodev sunaudiodev.c
-
-
-# A Linux specific module -- off by default; this may also work on
-# some *BSDs.
-
-#linuxaudiodev linuxaudiodev.c
-
-
-# George Neville-Neil's timing module:
-
-#timing timingmodule.c
-
-
-# The _tkinter module.
-#
-# The command for _tkinter is long and site specific. Please
-# uncomment and/or edit those parts as indicated. If you don't have a
-# specific extension (e.g. Tix or BLT), leave the corresponding line
-# commented out. (Leave the trailing backslashes in! If you
-# experience strange errors, you may want to join all uncommented
-# lines and remove the backslashes -- the backslash interpretation is
-# done by the shell's "read" command and it may not be implemented on
-# every system.
-
-# *** Always uncomment this (leave the leading underscore in!):
-# _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
-# *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
-# -L/usr/local/lib \
-# *** Uncomment and edit to reflect where your Tcl/Tk headers are:
-# -I/usr/local/include \
-# *** Uncomment and edit to reflect where your X11 header files are:
-# -I/usr/X11R6/include \
-# *** Or uncomment this for Solaris:
-# -I/usr/openwin/include \
-# *** Uncomment and edit for Tix extension only:
-# -DWITH_TIX -ltix8.1.8.2 \
-# *** Uncomment and edit for BLT extension only:
-# -DWITH_BLT -I/usr/local/blt/blt8.0-unoff/include -lBLT8.0 \
-# *** Uncomment and edit for PIL (TkImaging) extension only:
-# (See http://www.pythonware.com/products/pil/ for more info)
-# -DWITH_PIL -I../Extensions/Imaging/libImaging tkImaging.c \
-# *** Uncomment and edit for TOGL extension only:
-# -DWITH_TOGL togl.c \
-# *** Uncomment and edit to reflect your Tcl/Tk versions:
-# -ltk8.2 -ltcl8.2 \
-# *** Uncomment and edit to reflect where your X11 libraries are:
-# -L/usr/X11R6/lib \
-# *** Or uncomment this for Solaris:
-# -L/usr/openwin/lib \
-# *** Uncomment these for TOGL extension only:
-# -lGL -lGLU -lXext -lXmu \
-# *** Uncomment for AIX:
-# -lld \
-# *** Always uncomment this; X11 libraries to link with:
-# -lX11
-
-# Lance Ellinghaus's syslog module
-#syslog syslogmodule.c # syslog daemon interface
-
-
-# Curses support, requring the System V version of curses, often
-# provided by the ncurses library. e.g. on Linux, link with -lncurses
-# instead of -lcurses).
-#
-# First, look at Setup.config; configure may have set this for you.
-
-#_curses _cursesmodule.c -lcurses -ltermcap
-# Wrapper for the panel library that's part of ncurses and SYSV curses.
-#_curses_panel _curses_panel.c -lpanel -lncurses
-
-
-# Generic (SunOS / SVR4) dynamic loading module.
-# This is not needed for dynamic loading of Python modules --
-# it is a highly experimental and dangerous device for calling
-# *arbitrary* C functions in *arbitrary* shared libraries:
-
-#dl dlmodule.c
-
-
-# Modules that provide persistent dictionary-like semantics. You will
-# probably want to arrange for at least one of them to be available on
-# your machine, though none are defined by default because of library
-# dependencies. The Python module anydbm.py provides an
-# implementation independent wrapper for these; dumbdbm.py provides
-# similar functionality (but slower of course) implemented in Python.
-
-# The standard Unix dbm module has been moved to Setup.config so that
-# it will be compiled as a shared library by default. Compiling it as
-# a built-in module causes conflicts with the pybsddb3 module since it
-# creates a static dependency on an out-of-date version of db.so.
-#
-# First, look at Setup.config; configure may have set this for you.
-
-#dbm dbmmodule.c # dbm(3) may require -lndbm or similar
-
-# Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm:
-#
-# First, look at Setup.config; configure may have set this for you.
-
-#gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
-
-
-# Sleepycat Berkeley DB interface.
-#
-# This requires the Sleepycat DB code, see http://www.sleepycat.com/
-# The earliest supported version of that library is 3.0, the latest
-# supported version is 4.0 (4.1 is specifically not supported, as that
-# changes the semantics of transactional databases). A list of available
-# releases can be found at
-#
-# http://www.sleepycat.com/update/index.html
-#
-# Edit the variables DB and DBLIBVERto point to the db top directory
-# and the subdirectory of PORT where you built it.
-#DB=/usr/local/BerkeleyDB.4.0
-#DBLIBVER=4.0
-#DBINC=$(DB)/include
-#DBLIB=$(DB)/lib
-#_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER)
-
-# Historical Berkeley DB 1.85
-#
-# This module is deprecated; the 1.85 version of the Berkeley DB library has
-# bugs that can cause data corruption. If you can, use later versions of the
-# library instead, available from .
-
-#DB=/depot/sundry/src/berkeley-db/db.1.85
-#DBPORT=$(DB)/PORT/irix.5.3
-#bsddb185 bsddbmodule.c -I$(DBPORT)/include -I$(DBPORT) $(DBPORT)/libdb.a
-
-
-
-# Helper module for various ascii-encoders
-#binascii binascii.c
-
-# Fred Drake's interface to the Python parser
-#parser parsermodule.c
-
-# cStringIO and cPickle
-#cStringIO cStringIO.c
-#cPickle cPickle.c
-
-
-# Lee Busby's SIGFPE modules.
-# The library to link fpectl with is platform specific.
-# Choose *one* of the options below for fpectl:
-
-# For SGI IRIX (tested on 5.3):
-#fpectl fpectlmodule.c -lfpe
-
-# For Solaris with SunPro compiler (tested on Solaris 2.5 with SunPro C 4.2):
-# (Without the compiler you don't have -lsunmath.)
-#fpectl fpectlmodule.c -R/opt/SUNWspro/lib -lsunmath -lm
-
-# For other systems: see instructions in fpectlmodule.c.
-#fpectl fpectlmodule.c ...
-
-# Test module for fpectl. No extra libraries needed.
-#fpetest fpetestmodule.c
-
-# Andrew Kuchling's zlib module.
-# This require zlib 1.1.3 (or later).
-# See http://www.gzip.org/zlib/
-#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
-
-# Interface to the Expat XML parser
-#
-# Expat was written by James Clark and is now maintained by a group of
-# developers on SourceForge; see www.libexpat.org for more
-# information. The pyexpat module was written by Paul Prescod after a
-# prototype by Jack Jansen. Source of Expat 1.95.2 is included in
-# Modules/expat/. Usage of a system shared libexpat.so/expat.dll is
-# not advised.
-#
-# More information on Expat can be found at www.libexpat.org.
-#
-#pyexpat expat/xmlparse.c expat/xmlrole.c expat/xmltok.c pyexpat.c -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI
-
-
-# Hye-Shik Chang's CJKCodecs
-
-# multibytecodec is required for all the other CJK codec modules
-#_multibytecodec cjkcodecs/multibytecodec.c
-
-#_codecs_cn cjkcodecs/_codecs_cn.c
-#_codecs_hk cjkcodecs/_codecs_hk.c
-#_codecs_iso2022 cjkcodecs/_codecs_iso2022.c
-#_codecs_jp cjkcodecs/_codecs_jp.c
-#_codecs_kr cjkcodecs/_codecs_kr.c
-#_codecs_tw cjkcodecs/_codecs_tw.c
-
-# Example -- included for reference only:
-# xx xxmodule.c
-
-# Another example -- the 'xxsubtype' module shows C-level subtyping in action
-xxsubtype xxsubtype.c
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Setup.config b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Setup.config
deleted file mode 100644
index 807ab6b..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Setup.config
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file is transmogrified into Setup.config by config.status.
-
-# The purpose of this file is to conditionally enable certain modules
-# based on configure-time options.
-
-# Threading
-thread threadmodule.c
-
-# The signal module
-signal signalmodule.c
-
-# The rest of the modules previously listed in this file are built
-# by the setup.py script in Python 2.1 and later.
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Setup.local b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Setup.local
deleted file mode 100644
index ca2983e..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Setup.local
+++ /dev/null
@@ -1 +0,0 @@
-# Edit this file for local setup changes
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/__init__.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/__init__.py
deleted file mode 100644
index a780ebe..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/__init__.py
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Barry Warsaw
-# Contact: email-sig@python.org
-
-"""A package for parsing, handling, and generating email messages."""
-
-__version__ = '4.0.3'
-
-__all__ = [
- # Old names
- 'base64MIME',
- 'Charset',
- 'Encoders',
- 'Errors',
- 'Generator',
- 'Header',
- 'Iterators',
- 'Message',
- 'MIMEAudio',
- 'MIMEBase',
- 'MIMEImage',
- 'MIMEMessage',
- 'MIMEMultipart',
- 'MIMENonMultipart',
- 'MIMEText',
- 'Parser',
- 'quopriMIME',
- 'Utils',
- 'message_from_string',
- 'message_from_file',
- # new names
- 'base64mime',
- 'charset',
- 'encoders',
- 'errors',
- 'generator',
- 'header',
- 'iterators',
- 'message',
- 'mime',
- 'parser',
- 'quoprimime',
- 'utils',
- ]
-
-
-
-# Some convenience routines. Don't import Parser and Message as side-effects
-# of importing email since those cascadingly import most of the rest of the
-# email package.
-def message_from_string(s, *args, **kws):
- """Parse a string into a Message object model.
-
- Optional _class and strict are passed to the Parser constructor.
- """
- from email.parser import Parser
- return Parser(*args, **kws).parsestr(s)
-
-
-def message_from_file(fp, *args, **kws):
- """Read a file and parse its contents into a Message object model.
-
- Optional _class and strict are passed to the Parser constructor.
- """
- from email.parser import Parser
- return Parser(*args, **kws).parse(fp)
-
-
-
-# Lazy loading to provide name mapping from new-style names (PEP 8 compatible
-# email 4.0 module names), to old-style names (email 3.0 module names).
-import sys
-
-class LazyImporter(object):
- def __init__(self, module_name):
- self.__name__ = 'email.' + module_name
-
- def __getattr__(self, name):
- __import__(self.__name__)
- mod = sys.modules[self.__name__]
- self.__dict__.update(mod.__dict__)
- return getattr(mod, name)
-
-
-_LOWERNAMES = [
- # email. -> email.
- 'Charset',
- 'Encoders',
- 'Errors',
- 'FeedParser',
- 'Generator',
- 'Header',
- 'Iterators',
- 'Message',
- 'Parser',
- 'Utils',
- 'base64MIME',
- 'quopriMIME',
- ]
-
-_MIMENAMES = [
- # email.MIME -> email.mime.
- 'Audio',
- 'Base',
- 'Image',
- 'Message',
- 'Multipart',
- 'NonMultipart',
- 'Text',
- ]
-
-for _name in _LOWERNAMES:
- importer = LazyImporter(_name.lower())
- sys.modules['email.' + _name] = importer
- setattr(sys.modules['email'], _name, importer)
-
-
-import email.mime
-for _name in _MIMENAMES:
- importer = LazyImporter('mime.' + _name.lower())
- sys.modules['email.MIME' + _name] = importer
- setattr(sys.modules['email'], 'MIME' + _name, importer)
- setattr(sys.modules['email.mime'], _name, importer)
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/__init__.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/__init__.pyc
deleted file mode 100644
index 7610fc8..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/__init__.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/__init__.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/__init__.pyo
deleted file mode 100644
index 7610fc8..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/__init__.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/_parseaddr.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/_parseaddr.py
deleted file mode 100644
index 690db2c..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/_parseaddr.py
+++ /dev/null
@@ -1,497 +0,0 @@
-# Copyright (C) 2002-2007 Python Software Foundation
-# Contact: email-sig@python.org
-
-"""Email address parsing code.
-
-Lifted directly from rfc822.py. This should eventually be rewritten.
-"""
-
-__all__ = [
- 'mktime_tz',
- 'parsedate',
- 'parsedate_tz',
- 'quote',
- ]
-
-import time, calendar
-
-SPACE = ' '
-EMPTYSTRING = ''
-COMMASPACE = ', '
-
-# Parse a date field
-_monthnames = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul',
- 'aug', 'sep', 'oct', 'nov', 'dec',
- 'january', 'february', 'march', 'april', 'may', 'june', 'july',
- 'august', 'september', 'october', 'november', 'december']
-
-_daynames = ['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun']
-
-# The timezone table does not include the military time zones defined
-# in RFC822, other than Z. According to RFC1123, the description in
-# RFC822 gets the signs wrong, so we can't rely on any such time
-# zones. RFC1123 recommends that numeric timezone indicators be used
-# instead of timezone names.
-
-_timezones = {'UT':0, 'UTC':0, 'GMT':0, 'Z':0,
- 'AST': -400, 'ADT': -300, # Atlantic (used in Canada)
- 'EST': -500, 'EDT': -400, # Eastern
- 'CST': -600, 'CDT': -500, # Central
- 'MST': -700, 'MDT': -600, # Mountain
- 'PST': -800, 'PDT': -700 # Pacific
- }
-
-
-def parsedate_tz(data):
- """Convert a date string to a time tuple.
-
- Accounts for military timezones.
- """
- data = data.split()
- # The FWS after the comma after the day-of-week is optional, so search and
- # adjust for this.
- if data[0].endswith(',') or data[0].lower() in _daynames:
- # There's a dayname here. Skip it
- del data[0]
- else:
- i = data[0].rfind(',')
- if i >= 0:
- data[0] = data[0][i+1:]
- if len(data) == 3: # RFC 850 date, deprecated
- stuff = data[0].split('-')
- if len(stuff) == 3:
- data = stuff + data[1:]
- if len(data) == 4:
- s = data[3]
- i = s.find('+')
- if i > 0:
- data[3:] = [s[:i], s[i+1:]]
- else:
- data.append('') # Dummy tz
- if len(data) < 5:
- return None
- data = data[:5]
- [dd, mm, yy, tm, tz] = data
- mm = mm.lower()
- if mm not in _monthnames:
- dd, mm = mm, dd.lower()
- if mm not in _monthnames:
- return None
- mm = _monthnames.index(mm) + 1
- if mm > 12:
- mm -= 12
- if dd[-1] == ',':
- dd = dd[:-1]
- i = yy.find(':')
- if i > 0:
- yy, tm = tm, yy
- if yy[-1] == ',':
- yy = yy[:-1]
- if not yy[0].isdigit():
- yy, tz = tz, yy
- if tm[-1] == ',':
- tm = tm[:-1]
- tm = tm.split(':')
- if len(tm) == 2:
- [thh, tmm] = tm
- tss = '0'
- elif len(tm) == 3:
- [thh, tmm, tss] = tm
- else:
- return None
- try:
- yy = int(yy)
- dd = int(dd)
- thh = int(thh)
- tmm = int(tmm)
- tss = int(tss)
- except ValueError:
- return None
- # Check for a yy specified in two-digit format, then convert it to the
- # appropriate four-digit format, according to the POSIX standard. RFC 822
- # calls for a two-digit yy, but RFC 2822 (which obsoletes RFC 822)
- # mandates a 4-digit yy. For more information, see the documentation for
- # the time module.
- if yy < 100:
- # The year is between 1969 and 1999 (inclusive).
- if yy > 68:
- yy += 1900
- # The year is between 2000 and 2068 (inclusive).
- else:
- yy += 2000
- tzoffset = None
- tz = tz.upper()
- if tz in _timezones:
- tzoffset = _timezones[tz]
- else:
- try:
- tzoffset = int(tz)
- except ValueError:
- pass
- # Convert a timezone offset into seconds ; -0500 -> -18000
- if tzoffset:
- if tzoffset < 0:
- tzsign = -1
- tzoffset = -tzoffset
- else:
- tzsign = 1
- tzoffset = tzsign * ( (tzoffset//100)*3600 + (tzoffset % 100)*60)
- # Daylight Saving Time flag is set to -1, since DST is unknown.
- return yy, mm, dd, thh, tmm, tss, 0, 1, -1, tzoffset
-
-
-def parsedate(data):
- """Convert a time string to a time tuple."""
- t = parsedate_tz(data)
- if isinstance(t, tuple):
- return t[:9]
- else:
- return t
-
-
-def mktime_tz(data):
- """Turn a 10-tuple as returned by parsedate_tz() into a POSIX timestamp."""
- if data[9] is None:
- # No zone info, so localtime is better assumption than GMT
- return time.mktime(data[:8] + (-1,))
- else:
- t = calendar.timegm(data)
- return t - data[9]
-
-
-def quote(str):
- """Prepare string to be used in a quoted string.
-
- Turns backslash and double quote characters into quoted pairs. These
- are the only characters that need to be quoted inside a quoted string.
- Does not add the surrounding double quotes.
- """
- return str.replace('\\', '\\\\').replace('"', '\\"')
-
-
-class AddrlistClass:
- """Address parser class by Ben Escoto.
-
- To understand what this class does, it helps to have a copy of RFC 2822 in
- front of you.
-
- Note: this class interface is deprecated and may be removed in the future.
- Use rfc822.AddressList instead.
- """
-
- def __init__(self, field):
- """Initialize a new instance.
-
- `field' is an unparsed address header field, containing
- one or more addresses.
- """
- self.specials = '()<>@,:;.\"[]'
- self.pos = 0
- self.LWS = ' \t'
- self.CR = '\r\n'
- self.FWS = self.LWS + self.CR
- self.atomends = self.specials + self.LWS + self.CR
- # Note that RFC 2822 now specifies `.' as obs-phrase, meaning that it
- # is obsolete syntax. RFC 2822 requires that we recognize obsolete
- # syntax, so allow dots in phrases.
- self.phraseends = self.atomends.replace('.', '')
- self.field = field
- self.commentlist = []
-
- def gotonext(self):
- """Parse up to the start of the next address."""
- while self.pos < len(self.field):
- if self.field[self.pos] in self.LWS + '\n\r':
- self.pos += 1
- elif self.field[self.pos] == '(':
- self.commentlist.append(self.getcomment())
- else:
- break
-
- def getaddrlist(self):
- """Parse all addresses.
-
- Returns a list containing all of the addresses.
- """
- result = []
- while self.pos < len(self.field):
- ad = self.getaddress()
- if ad:
- result += ad
- else:
- result.append(('', ''))
- return result
-
- def getaddress(self):
- """Parse the next address."""
- self.commentlist = []
- self.gotonext()
-
- oldpos = self.pos
- oldcl = self.commentlist
- plist = self.getphraselist()
-
- self.gotonext()
- returnlist = []
-
- if self.pos >= len(self.field):
- # Bad email address technically, no domain.
- if plist:
- returnlist = [(SPACE.join(self.commentlist), plist[0])]
-
- elif self.field[self.pos] in '.@':
- # email address is just an addrspec
- # this isn't very efficient since we start over
- self.pos = oldpos
- self.commentlist = oldcl
- addrspec = self.getaddrspec()
- returnlist = [(SPACE.join(self.commentlist), addrspec)]
-
- elif self.field[self.pos] == ':':
- # address is a group
- returnlist = []
-
- fieldlen = len(self.field)
- self.pos += 1
- while self.pos < len(self.field):
- self.gotonext()
- if self.pos < fieldlen and self.field[self.pos] == ';':
- self.pos += 1
- break
- returnlist = returnlist + self.getaddress()
-
- elif self.field[self.pos] == '<':
- # Address is a phrase then a route addr
- routeaddr = self.getrouteaddr()
-
- if self.commentlist:
- returnlist = [(SPACE.join(plist) + ' (' +
- ' '.join(self.commentlist) + ')', routeaddr)]
- else:
- returnlist = [(SPACE.join(plist), routeaddr)]
-
- else:
- if plist:
- returnlist = [(SPACE.join(self.commentlist), plist[0])]
- elif self.field[self.pos] in self.specials:
- self.pos += 1
-
- self.gotonext()
- if self.pos < len(self.field) and self.field[self.pos] == ',':
- self.pos += 1
- return returnlist
-
- def getrouteaddr(self):
- """Parse a route address (Return-path value).
-
- This method just skips all the route stuff and returns the addrspec.
- """
- if self.field[self.pos] != '<':
- return
-
- expectroute = False
- self.pos += 1
- self.gotonext()
- adlist = ''
- while self.pos < len(self.field):
- if expectroute:
- self.getdomain()
- expectroute = False
- elif self.field[self.pos] == '>':
- self.pos += 1
- break
- elif self.field[self.pos] == '@':
- self.pos += 1
- expectroute = True
- elif self.field[self.pos] == ':':
- self.pos += 1
- else:
- adlist = self.getaddrspec()
- self.pos += 1
- break
- self.gotonext()
-
- return adlist
-
- def getaddrspec(self):
- """Parse an RFC 2822 addr-spec."""
- aslist = []
-
- self.gotonext()
- while self.pos < len(self.field):
- if self.field[self.pos] == '.':
- aslist.append('.')
- self.pos += 1
- elif self.field[self.pos] == '"':
- aslist.append('"%s"' % quote(self.getquote()))
- elif self.field[self.pos] in self.atomends:
- break
- else:
- aslist.append(self.getatom())
- self.gotonext()
-
- if self.pos >= len(self.field) or self.field[self.pos] != '@':
- return EMPTYSTRING.join(aslist)
-
- aslist.append('@')
- self.pos += 1
- self.gotonext()
- return EMPTYSTRING.join(aslist) + self.getdomain()
-
- def getdomain(self):
- """Get the complete domain name from an address."""
- sdlist = []
- while self.pos < len(self.field):
- if self.field[self.pos] in self.LWS:
- self.pos += 1
- elif self.field[self.pos] == '(':
- self.commentlist.append(self.getcomment())
- elif self.field[self.pos] == '[':
- sdlist.append(self.getdomainliteral())
- elif self.field[self.pos] == '.':
- self.pos += 1
- sdlist.append('.')
- elif self.field[self.pos] in self.atomends:
- break
- else:
- sdlist.append(self.getatom())
- return EMPTYSTRING.join(sdlist)
-
- def getdelimited(self, beginchar, endchars, allowcomments=True):
- """Parse a header fragment delimited by special characters.
-
- `beginchar' is the start character for the fragment.
- If self is not looking at an instance of `beginchar' then
- getdelimited returns the empty string.
-
- `endchars' is a sequence of allowable end-delimiting characters.
- Parsing stops when one of these is encountered.
-
- If `allowcomments' is non-zero, embedded RFC 2822 comments are allowed
- within the parsed fragment.
- """
- if self.field[self.pos] != beginchar:
- return ''
-
- slist = ['']
- quote = False
- self.pos += 1
- while self.pos < len(self.field):
- if quote:
- slist.append(self.field[self.pos])
- quote = False
- elif self.field[self.pos] in endchars:
- self.pos += 1
- break
- elif allowcomments and self.field[self.pos] == '(':
- slist.append(self.getcomment())
- continue # have already advanced pos from getcomment
- elif self.field[self.pos] == '\\':
- quote = True
- else:
- slist.append(self.field[self.pos])
- self.pos += 1
-
- return EMPTYSTRING.join(slist)
-
- def getquote(self):
- """Get a quote-delimited fragment from self's field."""
- return self.getdelimited('"', '"\r', False)
-
- def getcomment(self):
- """Get a parenthesis-delimited fragment from self's field."""
- return self.getdelimited('(', ')\r', True)
-
- def getdomainliteral(self):
- """Parse an RFC 2822 domain-literal."""
- return '[%s]' % self.getdelimited('[', ']\r', False)
-
- def getatom(self, atomends=None):
- """Parse an RFC 2822 atom.
-
- Optional atomends specifies a different set of end token delimiters
- (the default is to use self.atomends). This is used e.g. in
- getphraselist() since phrase endings must not include the `.' (which
- is legal in phrases)."""
- atomlist = ['']
- if atomends is None:
- atomends = self.atomends
-
- while self.pos < len(self.field):
- if self.field[self.pos] in atomends:
- break
- else:
- atomlist.append(self.field[self.pos])
- self.pos += 1
-
- return EMPTYSTRING.join(atomlist)
-
- def getphraselist(self):
- """Parse a sequence of RFC 2822 phrases.
-
- A phrase is a sequence of words, which are in turn either RFC 2822
- atoms or quoted-strings. Phrases are canonicalized by squeezing all
- runs of continuous whitespace into one space.
- """
- plist = []
-
- while self.pos < len(self.field):
- if self.field[self.pos] in self.FWS:
- self.pos += 1
- elif self.field[self.pos] == '"':
- plist.append(self.getquote())
- elif self.field[self.pos] == '(':
- self.commentlist.append(self.getcomment())
- elif self.field[self.pos] in self.phraseends:
- break
- else:
- plist.append(self.getatom(self.phraseends))
-
- return plist
-
-class AddressList(AddrlistClass):
- """An AddressList encapsulates a list of parsed RFC 2822 addresses."""
- def __init__(self, field):
- AddrlistClass.__init__(self, field)
- if field:
- self.addresslist = self.getaddrlist()
- else:
- self.addresslist = []
-
- def __len__(self):
- return len(self.addresslist)
-
- def __add__(self, other):
- # Set union
- newaddr = AddressList(None)
- newaddr.addresslist = self.addresslist[:]
- for x in other.addresslist:
- if not x in self.addresslist:
- newaddr.addresslist.append(x)
- return newaddr
-
- def __iadd__(self, other):
- # Set union, in-place
- for x in other.addresslist:
- if not x in self.addresslist:
- self.addresslist.append(x)
- return self
-
- def __sub__(self, other):
- # Set difference
- newaddr = AddressList(None)
- for x in self.addresslist:
- if not x in other.addresslist:
- newaddr.addresslist.append(x)
- return newaddr
-
- def __isub__(self, other):
- # Set difference, in-place
- for x in other.addresslist:
- if x in self.addresslist:
- self.addresslist.remove(x)
- return self
-
- def __getitem__(self, index):
- # Make indexing, slices, and 'in' work
- return self.addresslist[index]
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/_parseaddr.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/_parseaddr.pyc
deleted file mode 100644
index e6851cb..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/_parseaddr.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/_parseaddr.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/_parseaddr.pyo
deleted file mode 100644
index e6851cb..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/_parseaddr.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/base64mime.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/base64mime.py
deleted file mode 100644
index 4aa8000..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/base64mime.py
+++ /dev/null
@@ -1,183 +0,0 @@
-# Copyright (C) 2002-2006 Python Software Foundation
-# Author: Ben Gertzfield
-# Contact: email-sig@python.org
-
-"""Base64 content transfer encoding per RFCs 2045-2047.
-
-This module handles the content transfer encoding method defined in RFC 2045
-to encode arbitrary 8-bit data using the three 8-bit bytes in four 7-bit
-characters encoding known as Base64.
-
-It is used in the MIME standards for email to attach images, audio, and text
-using some 8-bit character sets to messages.
-
-This module provides an interface to encode and decode both headers and bodies
-with Base64 encoding.
-
-RFC 2045 defines a method for including character set information in an
-`encoded-word' in a header. This method is commonly used for 8-bit real names
-in To:, From:, Cc:, etc. fields, as well as Subject: lines.
-
-This module does not do the line wrapping or end-of-line character conversion
-necessary for proper internationalized headers; it only does dumb encoding and
-decoding. To deal with the various line wrapping issues, use the email.header
-module.
-"""
-
-__all__ = [
- 'base64_len',
- 'body_decode',
- 'body_encode',
- 'decode',
- 'decodestring',
- 'encode',
- 'encodestring',
- 'header_encode',
- ]
-
-
-from binascii import b2a_base64, a2b_base64
-from email.utils import fix_eols
-
-CRLF = '\r\n'
-NL = '\n'
-EMPTYSTRING = ''
-
-# See also Charset.py
-MISC_LEN = 7
-
-
-
-# Helpers
-def base64_len(s):
- """Return the length of s when it is encoded with base64."""
- groups_of_3, leftover = divmod(len(s), 3)
- # 4 bytes out for each 3 bytes (or nonzero fraction thereof) in.
- # Thanks, Tim!
- n = groups_of_3 * 4
- if leftover:
- n += 4
- return n
-
-
-
-def header_encode(header, charset='iso-8859-1', keep_eols=False,
- maxlinelen=76, eol=NL):
- """Encode a single header line with Base64 encoding in a given charset.
-
- Defined in RFC 2045, this Base64 encoding is identical to normal Base64
- encoding, except that each line must be intelligently wrapped (respecting
- the Base64 encoding), and subsequent lines must start with a space.
-
- charset names the character set to use to encode the header. It defaults
- to iso-8859-1.
-
- End-of-line characters (\\r, \\n, \\r\\n) will be automatically converted
- to the canonical email line separator \\r\\n unless the keep_eols
- parameter is True (the default is False).
-
- Each line of the header will be terminated in the value of eol, which
- defaults to "\\n". Set this to "\\r\\n" if you are using the result of
- this function directly in email.
-
- The resulting string will be in the form:
-
- "=?charset?b?WW/5ciBtYXp66XLrIHf8eiBhIGhhbXBzdGHuciBBIFlv+XIgbWF6euly?=\\n
- =?charset?b?6yB3/HogYSBoYW1wc3Rh7nIgQkMgWW/5ciBtYXp66XLrIHf8eiBhIGhh?="
-
- with each line wrapped at, at most, maxlinelen characters (defaults to 76
- characters).
- """
- # Return empty headers unchanged
- if not header:
- return header
-
- if not keep_eols:
- header = fix_eols(header)
-
- # Base64 encode each line, in encoded chunks no greater than maxlinelen in
- # length, after the RFC chrome is added in.
- base64ed = []
- max_encoded = maxlinelen - len(charset) - MISC_LEN
- max_unencoded = max_encoded * 3 // 4
-
- for i in range(0, len(header), max_unencoded):
- base64ed.append(b2a_base64(header[i:i+max_unencoded]))
-
- # Now add the RFC chrome to each encoded chunk
- lines = []
- for line in base64ed:
- # Ignore the last character of each line if it is a newline
- if line.endswith(NL):
- line = line[:-1]
- # Add the chrome
- lines.append('=?%s?b?%s?=' % (charset, line))
- # Glue the lines together and return it. BAW: should we be able to
- # specify the leading whitespace in the joiner?
- joiner = eol + ' '
- return joiner.join(lines)
-
-
-
-def encode(s, binary=True, maxlinelen=76, eol=NL):
- """Encode a string with base64.
-
- Each line will be wrapped at, at most, maxlinelen characters (defaults to
- 76 characters).
-
- If binary is False, end-of-line characters will be converted to the
- canonical email end-of-line sequence \\r\\n. Otherwise they will be left
- verbatim (this is the default).
-
- Each line of encoded text will end with eol, which defaults to "\\n". Set
- this to "\\r\\n" if you will be using the result of this function directly
- in an email.
- """
- if not s:
- return s
-
- if not binary:
- s = fix_eols(s)
-
- encvec = []
- max_unencoded = maxlinelen * 3 // 4
- for i in range(0, len(s), max_unencoded):
- # BAW: should encode() inherit b2a_base64()'s dubious behavior in
- # adding a newline to the encoded string?
- enc = b2a_base64(s[i:i + max_unencoded])
- if enc.endswith(NL) and eol != NL:
- enc = enc[:-1] + eol
- encvec.append(enc)
- return EMPTYSTRING.join(encvec)
-
-
-# For convenience and backwards compatibility w/ standard base64 module
-body_encode = encode
-encodestring = encode
-
-
-
-def decode(s, convert_eols=None):
- """Decode a raw base64 string.
-
- If convert_eols is set to a string value, all canonical email linefeeds,
- e.g. "\\r\\n", in the decoded text will be converted to the value of
- convert_eols. os.linesep is a good choice for convert_eols if you are
- decoding a text attachment.
-
- This function does not parse a full MIME header value encoded with
- base64 (like =?iso-8895-1?b?bmloISBuaWgh?=) -- please use the high
- level email.header class for that functionality.
- """
- if not s:
- return s
-
- dec = a2b_base64(s)
- if convert_eols:
- return dec.replace(CRLF, convert_eols)
- return dec
-
-
-# For convenience and backwards compatibility w/ standard base64 module
-body_decode = decode
-decodestring = decode
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/base64mime.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/base64mime.pyc
deleted file mode 100644
index d985cef..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/base64mime.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/base64mime.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/base64mime.pyo
deleted file mode 100644
index d985cef..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/base64mime.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/charset.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/charset.py
deleted file mode 100644
index dddaa76..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/charset.py
+++ /dev/null
@@ -1,397 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Ben Gertzfield, Barry Warsaw
-# Contact: email-sig@python.org
-
-__all__ = [
- 'Charset',
- 'add_alias',
- 'add_charset',
- 'add_codec',
- ]
-
-import codecs
-import email.base64mime
-import email.quoprimime
-
-from email import errors
-from email.encoders import encode_7or8bit
-
-
-
-# Flags for types of header encodings
-QP = 1 # Quoted-Printable
-BASE64 = 2 # Base64
-SHORTEST = 3 # the shorter of QP and base64, but only for headers
-
-# In "=?charset?q?hello_world?=", the =?, ?q?, and ?= add up to 7
-MISC_LEN = 7
-
-DEFAULT_CHARSET = 'us-ascii'
-
-
-
-# Defaults
-CHARSETS = {
- # input header enc body enc output conv
- 'iso-8859-1': (QP, QP, None),
- 'iso-8859-2': (QP, QP, None),
- 'iso-8859-3': (QP, QP, None),
- 'iso-8859-4': (QP, QP, None),
- # iso-8859-5 is Cyrillic, and not especially used
- # iso-8859-6 is Arabic, also not particularly used
- # iso-8859-7 is Greek, QP will not make it readable
- # iso-8859-8 is Hebrew, QP will not make it readable
- 'iso-8859-9': (QP, QP, None),
- 'iso-8859-10': (QP, QP, None),
- # iso-8859-11 is Thai, QP will not make it readable
- 'iso-8859-13': (QP, QP, None),
- 'iso-8859-14': (QP, QP, None),
- 'iso-8859-15': (QP, QP, None),
- 'iso-8859-16': (QP, QP, None),
- 'windows-1252':(QP, QP, None),
- 'viscii': (QP, QP, None),
- 'us-ascii': (None, None, None),
- 'big5': (BASE64, BASE64, None),
- 'gb2312': (BASE64, BASE64, None),
- 'euc-jp': (BASE64, None, 'iso-2022-jp'),
- 'shift_jis': (BASE64, None, 'iso-2022-jp'),
- 'iso-2022-jp': (BASE64, None, None),
- 'koi8-r': (BASE64, BASE64, None),
- 'utf-8': (SHORTEST, BASE64, 'utf-8'),
- # We're making this one up to represent raw unencoded 8-bit
- '8bit': (None, BASE64, 'utf-8'),
- }
-
-# Aliases for other commonly-used names for character sets. Map
-# them to the real ones used in email.
-ALIASES = {
- 'latin_1': 'iso-8859-1',
- 'latin-1': 'iso-8859-1',
- 'latin_2': 'iso-8859-2',
- 'latin-2': 'iso-8859-2',
- 'latin_3': 'iso-8859-3',
- 'latin-3': 'iso-8859-3',
- 'latin_4': 'iso-8859-4',
- 'latin-4': 'iso-8859-4',
- 'latin_5': 'iso-8859-9',
- 'latin-5': 'iso-8859-9',
- 'latin_6': 'iso-8859-10',
- 'latin-6': 'iso-8859-10',
- 'latin_7': 'iso-8859-13',
- 'latin-7': 'iso-8859-13',
- 'latin_8': 'iso-8859-14',
- 'latin-8': 'iso-8859-14',
- 'latin_9': 'iso-8859-15',
- 'latin-9': 'iso-8859-15',
- 'latin_10':'iso-8859-16',
- 'latin-10':'iso-8859-16',
- 'cp949': 'ks_c_5601-1987',
- 'euc_jp': 'euc-jp',
- 'euc_kr': 'euc-kr',
- 'ascii': 'us-ascii',
- }
-
-
-# Map charsets to their Unicode codec strings.
-CODEC_MAP = {
- 'gb2312': 'eucgb2312_cn',
- 'big5': 'big5_tw',
- # Hack: We don't want *any* conversion for stuff marked us-ascii, as all
- # sorts of garbage might be sent to us in the guise of 7-bit us-ascii.
- # Let that stuff pass through without conversion to/from Unicode.
- 'us-ascii': None,
- }
-
-
-
-# Convenience functions for extending the above mappings
-def add_charset(charset, header_enc=None, body_enc=None, output_charset=None):
- """Add character set properties to the global registry.
-
- charset is the input character set, and must be the canonical name of a
- character set.
-
- Optional header_enc and body_enc is either Charset.QP for
- quoted-printable, Charset.BASE64 for base64 encoding, Charset.SHORTEST for
- the shortest of qp or base64 encoding, or None for no encoding. SHORTEST
- is only valid for header_enc. It describes how message headers and
- message bodies in the input charset are to be encoded. Default is no
- encoding.
-
- Optional output_charset is the character set that the output should be
- in. Conversions will proceed from input charset, to Unicode, to the
- output charset when the method Charset.convert() is called. The default
- is to output in the same character set as the input.
-
- Both input_charset and output_charset must have Unicode codec entries in
- the module's charset-to-codec mapping; use add_codec(charset, codecname)
- to add codecs the module does not know about. See the codecs module's
- documentation for more information.
- """
- if body_enc == SHORTEST:
- raise ValueError('SHORTEST not allowed for body_enc')
- CHARSETS[charset] = (header_enc, body_enc, output_charset)
-
-
-def add_alias(alias, canonical):
- """Add a character set alias.
-
- alias is the alias name, e.g. latin-1
- canonical is the character set's canonical name, e.g. iso-8859-1
- """
- ALIASES[alias] = canonical
-
-
-def add_codec(charset, codecname):
- """Add a codec that map characters in the given charset to/from Unicode.
-
- charset is the canonical name of a character set. codecname is the name
- of a Python codec, as appropriate for the second argument to the unicode()
- built-in, or to the encode() method of a Unicode string.
- """
- CODEC_MAP[charset] = codecname
-
-
-
-class Charset:
- """Map character sets to their email properties.
-
- This class provides information about the requirements imposed on email
- for a specific character set. It also provides convenience routines for
- converting between character sets, given the availability of the
- applicable codecs. Given a character set, it will do its best to provide
- information on how to use that character set in an email in an
- RFC-compliant way.
-
- Certain character sets must be encoded with quoted-printable or base64
- when used in email headers or bodies. Certain character sets must be
- converted outright, and are not allowed in email. Instances of this
- module expose the following information about a character set:
-
- input_charset: The initial character set specified. Common aliases
- are converted to their `official' email names (e.g. latin_1
- is converted to iso-8859-1). Defaults to 7-bit us-ascii.
-
- header_encoding: If the character set must be encoded before it can be
- used in an email header, this attribute will be set to
- Charset.QP (for quoted-printable), Charset.BASE64 (for
- base64 encoding), or Charset.SHORTEST for the shortest of
- QP or BASE64 encoding. Otherwise, it will be None.
-
- body_encoding: Same as header_encoding, but describes the encoding for the
- mail message's body, which indeed may be different than the
- header encoding. Charset.SHORTEST is not allowed for
- body_encoding.
-
- output_charset: Some character sets must be converted before the can be
- used in email headers or bodies. If the input_charset is
- one of them, this attribute will contain the name of the
- charset output will be converted to. Otherwise, it will
- be None.
-
- input_codec: The name of the Python codec used to convert the
- input_charset to Unicode. If no conversion codec is
- necessary, this attribute will be None.
-
- output_codec: The name of the Python codec used to convert Unicode
- to the output_charset. If no conversion codec is necessary,
- this attribute will have the same value as the input_codec.
- """
- def __init__(self, input_charset=DEFAULT_CHARSET):
- # RFC 2046, $4.1.2 says charsets are not case sensitive. We coerce to
- # unicode because its .lower() is locale insensitive. If the argument
- # is already a unicode, we leave it at that, but ensure that the
- # charset is ASCII, as the standard (RFC XXX) requires.
- try:
- if isinstance(input_charset, unicode):
- input_charset.encode('ascii')
- else:
- input_charset = unicode(input_charset, 'ascii')
- except UnicodeError:
- raise errors.CharsetError(input_charset)
- input_charset = input_charset.lower().encode('ascii')
- # Set the input charset after filtering through the aliases and/or codecs
- if not (input_charset in ALIASES or input_charset in CHARSETS):
- try:
- input_charset = codecs.lookup(input_charset).name
- except LookupError:
- pass
- self.input_charset = ALIASES.get(input_charset, input_charset)
- # We can try to guess which encoding and conversion to use by the
- # charset_map dictionary. Try that first, but let the user override
- # it.
- henc, benc, conv = CHARSETS.get(self.input_charset,
- (SHORTEST, BASE64, None))
- if not conv:
- conv = self.input_charset
- # Set the attributes, allowing the arguments to override the default.
- self.header_encoding = henc
- self.body_encoding = benc
- self.output_charset = ALIASES.get(conv, conv)
- # Now set the codecs. If one isn't defined for input_charset,
- # guess and try a Unicode codec with the same name as input_codec.
- self.input_codec = CODEC_MAP.get(self.input_charset,
- self.input_charset)
- self.output_codec = CODEC_MAP.get(self.output_charset,
- self.output_charset)
-
- def __str__(self):
- return self.input_charset.lower()
-
- __repr__ = __str__
-
- def __eq__(self, other):
- return str(self) == str(other).lower()
-
- def __ne__(self, other):
- return not self.__eq__(other)
-
- def get_body_encoding(self):
- """Return the content-transfer-encoding used for body encoding.
-
- This is either the string `quoted-printable' or `base64' depending on
- the encoding used, or it is a function in which case you should call
- the function with a single argument, the Message object being
- encoded. The function should then set the Content-Transfer-Encoding
- header itself to whatever is appropriate.
-
- Returns "quoted-printable" if self.body_encoding is QP.
- Returns "base64" if self.body_encoding is BASE64.
- Returns "7bit" otherwise.
- """
- assert self.body_encoding != SHORTEST
- if self.body_encoding == QP:
- return 'quoted-printable'
- elif self.body_encoding == BASE64:
- return 'base64'
- else:
- return encode_7or8bit
-
- def convert(self, s):
- """Convert a string from the input_codec to the output_codec."""
- if self.input_codec != self.output_codec:
- return unicode(s, self.input_codec).encode(self.output_codec)
- else:
- return s
-
- def to_splittable(self, s):
- """Convert a possibly multibyte string to a safely splittable format.
-
- Uses the input_codec to try and convert the string to Unicode, so it
- can be safely split on character boundaries (even for multibyte
- characters).
-
- Returns the string as-is if it isn't known how to convert it to
- Unicode with the input_charset.
-
- Characters that could not be converted to Unicode will be replaced
- with the Unicode replacement character U+FFFD.
- """
- if isinstance(s, unicode) or self.input_codec is None:
- return s
- try:
- return unicode(s, self.input_codec, 'replace')
- except LookupError:
- # Input codec not installed on system, so return the original
- # string unchanged.
- return s
-
- def from_splittable(self, ustr, to_output=True):
- """Convert a splittable string back into an encoded string.
-
- Uses the proper codec to try and convert the string from Unicode back
- into an encoded format. Return the string as-is if it is not Unicode,
- or if it could not be converted from Unicode.
-
- Characters that could not be converted from Unicode will be replaced
- with an appropriate character (usually '?').
-
- If to_output is True (the default), uses output_codec to convert to an
- encoded format. If to_output is False, uses input_codec.
- """
- if to_output:
- codec = self.output_codec
- else:
- codec = self.input_codec
- if not isinstance(ustr, unicode) or codec is None:
- return ustr
- try:
- return ustr.encode(codec, 'replace')
- except LookupError:
- # Output codec not installed
- return ustr
-
- def get_output_charset(self):
- """Return the output character set.
-
- This is self.output_charset if that is not None, otherwise it is
- self.input_charset.
- """
- return self.output_charset or self.input_charset
-
- def encoded_header_len(self, s):
- """Return the length of the encoded header string."""
- cset = self.get_output_charset()
- # The len(s) of a 7bit encoding is len(s)
- if self.header_encoding == BASE64:
- return email.base64mime.base64_len(s) + len(cset) + MISC_LEN
- elif self.header_encoding == QP:
- return email.quoprimime.header_quopri_len(s) + len(cset) + MISC_LEN
- elif self.header_encoding == SHORTEST:
- lenb64 = email.base64mime.base64_len(s)
- lenqp = email.quoprimime.header_quopri_len(s)
- return min(lenb64, lenqp) + len(cset) + MISC_LEN
- else:
- return len(s)
-
- def header_encode(self, s, convert=False):
- """Header-encode a string, optionally converting it to output_charset.
-
- If convert is True, the string will be converted from the input
- charset to the output charset automatically. This is not useful for
- multibyte character sets, which have line length issues (multibyte
- characters must be split on a character, not a byte boundary); use the
- high-level Header class to deal with these issues. convert defaults
- to False.
-
- The type of encoding (base64 or quoted-printable) will be based on
- self.header_encoding.
- """
- cset = self.get_output_charset()
- if convert:
- s = self.convert(s)
- # 7bit/8bit encodings return the string unchanged (modulo conversions)
- if self.header_encoding == BASE64:
- return email.base64mime.header_encode(s, cset)
- elif self.header_encoding == QP:
- return email.quoprimime.header_encode(s, cset, maxlinelen=None)
- elif self.header_encoding == SHORTEST:
- lenb64 = email.base64mime.base64_len(s)
- lenqp = email.quoprimime.header_quopri_len(s)
- if lenb64 < lenqp:
- return email.base64mime.header_encode(s, cset)
- else:
- return email.quoprimime.header_encode(s, cset, maxlinelen=None)
- else:
- return s
-
- def body_encode(self, s, convert=True):
- """Body-encode a string and convert it to output_charset.
-
- If convert is True (the default), the string will be converted from
- the input charset to output charset automatically. Unlike
- header_encode(), there are no issues with byte boundaries and
- multibyte charsets in email bodies, so this is usually pretty safe.
-
- The type of encoding (base64 or quoted-printable) will be based on
- self.body_encoding.
- """
- if convert:
- s = self.convert(s)
- # 7bit/8bit encodings return the string unchanged (module conversions)
- if self.body_encoding is BASE64:
- return email.base64mime.body_encode(s)
- elif self.body_encoding is QP:
- return email.quoprimime.body_encode(s)
- else:
- return s
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/charset.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/charset.pyc
deleted file mode 100644
index 8fb22c1..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/charset.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/charset.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/charset.pyo
deleted file mode 100644
index d929de8..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/charset.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/encoders.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/encoders.py
deleted file mode 100644
index af45e62..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/encoders.py
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Barry Warsaw
-# Contact: email-sig@python.org
-
-"""Encodings and related functions."""
-
-__all__ = [
- 'encode_7or8bit',
- 'encode_base64',
- 'encode_noop',
- 'encode_quopri',
- ]
-
-import base64
-
-from quopri import encodestring as _encodestring
-
-
-
-def _qencode(s):
- enc = _encodestring(s, quotetabs=True)
- # Must encode spaces, which quopri.encodestring() doesn't do
- return enc.replace(' ', '=20')
-
-
-def _bencode(s):
- # We can't quite use base64.encodestring() since it tacks on a "courtesy
- # newline". Blech!
- if not s:
- return s
- hasnewline = (s[-1] == '\n')
- value = base64.encodestring(s)
- if not hasnewline and value[-1] == '\n':
- return value[:-1]
- return value
-
-
-
-def encode_base64(msg):
- """Encode the message's payload in Base64.
-
- Also, add an appropriate Content-Transfer-Encoding header.
- """
- orig = msg.get_payload()
- encdata = _bencode(orig)
- msg.set_payload(encdata)
- msg['Content-Transfer-Encoding'] = 'base64'
-
-
-
-def encode_quopri(msg):
- """Encode the message's payload in quoted-printable.
-
- Also, add an appropriate Content-Transfer-Encoding header.
- """
- orig = msg.get_payload()
- encdata = _qencode(orig)
- msg.set_payload(encdata)
- msg['Content-Transfer-Encoding'] = 'quoted-printable'
-
-
-
-def encode_7or8bit(msg):
- """Set the Content-Transfer-Encoding header to 7bit or 8bit."""
- orig = msg.get_payload()
- if orig is None:
- # There's no payload. For backwards compatibility we use 7bit
- msg['Content-Transfer-Encoding'] = '7bit'
- return
- # We play a trick to make this go fast. If encoding to ASCII succeeds, we
- # know the data must be 7bit, otherwise treat it as 8bit.
- try:
- orig.encode('ascii')
- except UnicodeError:
- msg['Content-Transfer-Encoding'] = '8bit'
- else:
- msg['Content-Transfer-Encoding'] = '7bit'
-
-
-
-def encode_noop(msg):
- """Do nothing."""
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/encoders.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/encoders.pyc
deleted file mode 100644
index e6ec4dd..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/encoders.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/encoders.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/encoders.pyo
deleted file mode 100644
index e6ec4dd..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/encoders.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/errors.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/errors.py
deleted file mode 100644
index d52a624..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/errors.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Barry Warsaw
-# Contact: email-sig@python.org
-
-"""email package exception classes."""
-
-
-
-class MessageError(Exception):
- """Base class for errors in the email package."""
-
-
-class MessageParseError(MessageError):
- """Base class for message parsing errors."""
-
-
-class HeaderParseError(MessageParseError):
- """Error while parsing headers."""
-
-
-class BoundaryError(MessageParseError):
- """Couldn't find terminating boundary."""
-
-
-class MultipartConversionError(MessageError, TypeError):
- """Conversion to a multipart is prohibited."""
-
-
-class CharsetError(MessageError):
- """An illegal charset was given."""
-
-
-
-# These are parsing defects which the parser was able to work around.
-class MessageDefect:
- """Base class for a message defect."""
-
- def __init__(self, line=None):
- self.line = line
-
-class NoBoundaryInMultipartDefect(MessageDefect):
- """A message claimed to be a multipart but had no boundary parameter."""
-
-class StartBoundaryNotFoundDefect(MessageDefect):
- """The claimed start boundary was never found."""
-
-class FirstHeaderLineIsContinuationDefect(MessageDefect):
- """A message had a continuation line as its first header line."""
-
-class MisplacedEnvelopeHeaderDefect(MessageDefect):
- """A 'Unix-from' header was found in the middle of a header block."""
-
-class MalformedHeaderDefect(MessageDefect):
- """Found a header that was missing a colon, or was otherwise malformed."""
-
-class MultipartInvariantViolationDefect(MessageDefect):
- """A message claimed to be a multipart but no subparts were found."""
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/errors.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/errors.pyc
deleted file mode 100644
index 6d245f6..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/errors.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/errors.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/errors.pyo
deleted file mode 100644
index 6d245f6..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/errors.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/feedparser.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/feedparser.py
deleted file mode 100644
index 15db26d..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/feedparser.py
+++ /dev/null
@@ -1,484 +0,0 @@
-# Copyright (C) 2004-2006 Python Software Foundation
-# Authors: Baxter, Wouters and Warsaw
-# Contact: email-sig@python.org
-
-"""FeedParser - An email feed parser.
-
-The feed parser implements an interface for incrementally parsing an email
-message, line by line. This has advantages for certain applications, such as
-those reading email messages off a socket.
-
-FeedParser.feed() is the primary interface for pushing new data into the
-parser. It returns when there's nothing more it can do with the available
-data. When you have no more data to push into the parser, call .close().
-This completes the parsing and returns the root message object.
-
-The other advantage of this parser is that it will never raise a parsing
-exception. Instead, when it finds something unexpected, it adds a 'defect' to
-the current message. Defects are just instances that live on the message
-object's .defects attribute.
-"""
-
-__all__ = ['FeedParser']
-
-import re
-
-from email import errors
-from email import message
-
-NLCRE = re.compile('\r\n|\r|\n')
-NLCRE_bol = re.compile('(\r\n|\r|\n)')
-NLCRE_eol = re.compile('(\r\n|\r|\n)\Z')
-NLCRE_crack = re.compile('(\r\n|\r|\n)')
-# RFC 2822 $3.6.8 Optional fields. ftext is %d33-57 / %d59-126, Any character
-# except controls, SP, and ":".
-headerRE = re.compile(r'^(From |[\041-\071\073-\176]{1,}:|[\t ])')
-EMPTYSTRING = ''
-NL = '\n'
-
-NeedMoreData = object()
-
-
-
-class BufferedSubFile(object):
- """A file-ish object that can have new data loaded into it.
-
- You can also push and pop line-matching predicates onto a stack. When the
- current predicate matches the current line, a false EOF response
- (i.e. empty string) is returned instead. This lets the parser adhere to a
- simple abstraction -- it parses until EOF closes the current message.
- """
- def __init__(self):
- # The last partial line pushed into this object.
- self._partial = ''
- # The list of full, pushed lines, in reverse order
- self._lines = []
- # The stack of false-EOF checking predicates.
- self._eofstack = []
- # A flag indicating whether the file has been closed or not.
- self._closed = False
-
- def push_eof_matcher(self, pred):
- self._eofstack.append(pred)
-
- def pop_eof_matcher(self):
- return self._eofstack.pop()
-
- def close(self):
- # Don't forget any trailing partial line.
- self._lines.append(self._partial)
- self._partial = ''
- self._closed = True
-
- def readline(self):
- if not self._lines:
- if self._closed:
- return ''
- return NeedMoreData
- # Pop the line off the stack and see if it matches the current
- # false-EOF predicate.
- line = self._lines.pop()
- # RFC 2046, section 5.1.2 requires us to recognize outer level
- # boundaries at any level of inner nesting. Do this, but be sure it's
- # in the order of most to least nested.
- for ateof in self._eofstack[::-1]:
- if ateof(line):
- # We're at the false EOF. But push the last line back first.
- self._lines.append(line)
- return ''
- return line
-
- def unreadline(self, line):
- # Let the consumer push a line back into the buffer.
- assert line is not NeedMoreData
- self._lines.append(line)
-
- def push(self, data):
- """Push some new data into this object."""
- # Handle any previous leftovers
- data, self._partial = self._partial + data, ''
- # Crack into lines, but preserve the newlines on the end of each
- parts = NLCRE_crack.split(data)
- # The *ahem* interesting behaviour of re.split when supplied grouping
- # parentheses is that the last element of the resulting list is the
- # data after the final RE. In the case of a NL/CR terminated string,
- # this is the empty string.
- self._partial = parts.pop()
- #GAN 29Mar09 bugs 1555570, 1721862 Confusion at 8K boundary ending with \r:
- # is there a \n to follow later?
- if not self._partial and parts and parts[-1].endswith('\r'):
- self._partial = parts.pop(-2)+parts.pop()
- # parts is a list of strings, alternating between the line contents
- # and the eol character(s). Gather up a list of lines after
- # re-attaching the newlines.
- lines = []
- for i in range(len(parts) // 2):
- lines.append(parts[i*2] + parts[i*2+1])
- self.pushlines(lines)
-
- def pushlines(self, lines):
- # Reverse and insert at the front of the lines.
- self._lines[:0] = lines[::-1]
-
- def is_closed(self):
- return self._closed
-
- def __iter__(self):
- return self
-
- def next(self):
- line = self.readline()
- if line == '':
- raise StopIteration
- return line
-
-
-
-class FeedParser:
- """A feed-style parser of email."""
-
- def __init__(self, _factory=message.Message):
- """_factory is called with no arguments to create a new message obj"""
- self._factory = _factory
- self._input = BufferedSubFile()
- self._msgstack = []
- self._parse = self._parsegen().next
- self._cur = None
- self._last = None
- self._headersonly = False
-
- # Non-public interface for supporting Parser's headersonly flag
- def _set_headersonly(self):
- self._headersonly = True
-
- def feed(self, data):
- """Push more data into the parser."""
- self._input.push(data)
- self._call_parse()
-
- def _call_parse(self):
- try:
- self._parse()
- except StopIteration:
- pass
-
- def close(self):
- """Parse all remaining data and return the root message object."""
- self._input.close()
- self._call_parse()
- root = self._pop_message()
- assert not self._msgstack
- # Look for final set of defects
- if root.get_content_maintype() == 'multipart' \
- and not root.is_multipart():
- root.defects.append(errors.MultipartInvariantViolationDefect())
- return root
-
- def _new_message(self):
- msg = self._factory()
- if self._cur and self._cur.get_content_type() == 'multipart/digest':
- msg.set_default_type('message/rfc822')
- if self._msgstack:
- self._msgstack[-1].attach(msg)
- self._msgstack.append(msg)
- self._cur = msg
- self._last = msg
-
- def _pop_message(self):
- retval = self._msgstack.pop()
- if self._msgstack:
- self._cur = self._msgstack[-1]
- else:
- self._cur = None
- return retval
-
- def _parsegen(self):
- # Create a new message and start by parsing headers.
- self._new_message()
- headers = []
- # Collect the headers, searching for a line that doesn't match the RFC
- # 2822 header or continuation pattern (including an empty line).
- for line in self._input:
- if line is NeedMoreData:
- yield NeedMoreData
- continue
- if not headerRE.match(line):
- # If we saw the RFC defined header/body separator
- # (i.e. newline), just throw it away. Otherwise the line is
- # part of the body so push it back.
- if not NLCRE.match(line):
- self._input.unreadline(line)
- break
- headers.append(line)
- # Done with the headers, so parse them and figure out what we're
- # supposed to see in the body of the message.
- self._parse_headers(headers)
- # Headers-only parsing is a backwards compatibility hack, which was
- # necessary in the older parser, which could raise errors. All
- # remaining lines in the input are thrown into the message body.
- if self._headersonly:
- lines = []
- while True:
- line = self._input.readline()
- if line is NeedMoreData:
- yield NeedMoreData
- continue
- if line == '':
- break
- lines.append(line)
- self._cur.set_payload(EMPTYSTRING.join(lines))
- return
- if self._cur.get_content_type() == 'message/delivery-status':
- # message/delivery-status contains blocks of headers separated by
- # a blank line. We'll represent each header block as a separate
- # nested message object, but the processing is a bit different
- # than standard message/* types because there is no body for the
- # nested messages. A blank line separates the subparts.
- while True:
- self._input.push_eof_matcher(NLCRE.match)
- for retval in self._parsegen():
- if retval is NeedMoreData:
- yield NeedMoreData
- continue
- break
- msg = self._pop_message()
- # We need to pop the EOF matcher in order to tell if we're at
- # the end of the current file, not the end of the last block
- # of message headers.
- self._input.pop_eof_matcher()
- # The input stream must be sitting at the newline or at the
- # EOF. We want to see if we're at the end of this subpart, so
- # first consume the blank line, then test the next line to see
- # if we're at this subpart's EOF.
- while True:
- line = self._input.readline()
- if line is NeedMoreData:
- yield NeedMoreData
- continue
- break
- while True:
- line = self._input.readline()
- if line is NeedMoreData:
- yield NeedMoreData
- continue
- break
- if line == '':
- break
- # Not at EOF so this is a line we're going to need.
- self._input.unreadline(line)
- return
- if self._cur.get_content_maintype() == 'message':
- # The message claims to be a message/* type, then what follows is
- # another RFC 2822 message.
- for retval in self._parsegen():
- if retval is NeedMoreData:
- yield NeedMoreData
- continue
- break
- self._pop_message()
- return
- if self._cur.get_content_maintype() == 'multipart':
- boundary = self._cur.get_boundary()
- if boundary is None:
- # The message /claims/ to be a multipart but it has not
- # defined a boundary. That's a problem which we'll handle by
- # reading everything until the EOF and marking the message as
- # defective.
- self._cur.defects.append(errors.NoBoundaryInMultipartDefect())
- lines = []
- for line in self._input:
- if line is NeedMoreData:
- yield NeedMoreData
- continue
- lines.append(line)
- self._cur.set_payload(EMPTYSTRING.join(lines))
- return
- # Create a line match predicate which matches the inter-part
- # boundary as well as the end-of-multipart boundary. Don't push
- # this onto the input stream until we've scanned past the
- # preamble.
- separator = '--' + boundary
- boundaryre = re.compile(
- '(?P' + re.escape(separator) +
- r')(?P--)?(?P[ \t]*)(?P\r\n|\r|\n)?$')
- capturing_preamble = True
- preamble = []
- linesep = False
- while True:
- line = self._input.readline()
- if line is NeedMoreData:
- yield NeedMoreData
- continue
- if line == '':
- break
- mo = boundaryre.match(line)
- if mo:
- # If we're looking at the end boundary, we're done with
- # this multipart. If there was a newline at the end of
- # the closing boundary, then we need to initialize the
- # epilogue with the empty string (see below).
- if mo.group('end'):
- linesep = mo.group('linesep')
- break
- # We saw an inter-part boundary. Were we in the preamble?
- if capturing_preamble:
- if preamble:
- # According to RFC 2046, the last newline belongs
- # to the boundary.
- lastline = preamble[-1]
- eolmo = NLCRE_eol.search(lastline)
- if eolmo:
- preamble[-1] = lastline[:-len(eolmo.group(0))]
- self._cur.preamble = EMPTYSTRING.join(preamble)
- capturing_preamble = False
- self._input.unreadline(line)
- continue
- # We saw a boundary separating two parts. Consume any
- # multiple boundary lines that may be following. Our
- # interpretation of RFC 2046 BNF grammar does not produce
- # body parts within such double boundaries.
- while True:
- line = self._input.readline()
- if line is NeedMoreData:
- yield NeedMoreData
- continue
- mo = boundaryre.match(line)
- if not mo:
- self._input.unreadline(line)
- break
- # Recurse to parse this subpart; the input stream points
- # at the subpart's first line.
- self._input.push_eof_matcher(boundaryre.match)
- for retval in self._parsegen():
- if retval is NeedMoreData:
- yield NeedMoreData
- continue
- break
- # Because of RFC 2046, the newline preceding the boundary
- # separator actually belongs to the boundary, not the
- # previous subpart's payload (or epilogue if the previous
- # part is a multipart).
- if self._last.get_content_maintype() == 'multipart':
- epilogue = self._last.epilogue
- if epilogue == '':
- self._last.epilogue = None
- elif epilogue is not None:
- mo = NLCRE_eol.search(epilogue)
- if mo:
- end = len(mo.group(0))
- self._last.epilogue = epilogue[:-end]
- else:
- payload = self._last.get_payload()
- if isinstance(payload, basestring):
- mo = NLCRE_eol.search(payload)
- if mo:
- payload = payload[:-len(mo.group(0))]
- self._last.set_payload(payload)
- self._input.pop_eof_matcher()
- self._pop_message()
- # Set the multipart up for newline cleansing, which will
- # happen if we're in a nested multipart.
- self._last = self._cur
- else:
- # I think we must be in the preamble
- assert capturing_preamble
- preamble.append(line)
- # We've seen either the EOF or the end boundary. If we're still
- # capturing the preamble, we never saw the start boundary. Note
- # that as a defect and store the captured text as the payload.
- # Everything from here to the EOF is epilogue.
- if capturing_preamble:
- self._cur.defects.append(errors.StartBoundaryNotFoundDefect())
- self._cur.set_payload(EMPTYSTRING.join(preamble))
- epilogue = []
- for line in self._input:
- if line is NeedMoreData:
- yield NeedMoreData
- continue
- self._cur.epilogue = EMPTYSTRING.join(epilogue)
- return
- # If the end boundary ended in a newline, we'll need to make sure
- # the epilogue isn't None
- if linesep:
- epilogue = ['']
- else:
- epilogue = []
- for line in self._input:
- if line is NeedMoreData:
- yield NeedMoreData
- continue
- epilogue.append(line)
- # Any CRLF at the front of the epilogue is not technically part of
- # the epilogue. Also, watch out for an empty string epilogue,
- # which means a single newline.
- if epilogue:
- firstline = epilogue[0]
- bolmo = NLCRE_bol.match(firstline)
- if bolmo:
- epilogue[0] = firstline[len(bolmo.group(0)):]
- self._cur.epilogue = EMPTYSTRING.join(epilogue)
- return
- # Otherwise, it's some non-multipart type, so the entire rest of the
- # file contents becomes the payload.
- lines = []
- for line in self._input:
- if line is NeedMoreData:
- yield NeedMoreData
- continue
- lines.append(line)
- self._cur.set_payload(EMPTYSTRING.join(lines))
-
- def _parse_headers(self, lines):
- # Passed a list of lines that make up the headers for the current msg
- lastheader = ''
- lastvalue = []
- for lineno, line in enumerate(lines):
- # Check for continuation
- if line[0] in ' \t':
- if not lastheader:
- # The first line of the headers was a continuation. This
- # is illegal, so let's note the defect, store the illegal
- # line, and ignore it for purposes of headers.
- defect = errors.FirstHeaderLineIsContinuationDefect(line)
- self._cur.defects.append(defect)
- continue
- lastvalue.append(line)
- continue
- if lastheader:
- # XXX reconsider the joining of folded lines
- lhdr = EMPTYSTRING.join(lastvalue)[:-1].rstrip('\r\n')
- self._cur[lastheader] = lhdr
- lastheader, lastvalue = '', []
- # Check for envelope header, i.e. unix-from
- if line.startswith('From '):
- if lineno == 0:
- # Strip off the trailing newline
- mo = NLCRE_eol.search(line)
- if mo:
- line = line[:-len(mo.group(0))]
- self._cur.set_unixfrom(line)
- continue
- elif lineno == len(lines) - 1:
- # Something looking like a unix-from at the end - it's
- # probably the first line of the body, so push back the
- # line and stop.
- self._input.unreadline(line)
- return
- else:
- # Weirdly placed unix-from line. Note this as a defect
- # and ignore it.
- defect = errors.MisplacedEnvelopeHeaderDefect(line)
- self._cur.defects.append(defect)
- continue
- # Split the line on the colon separating field name from value.
- i = line.find(':')
- if i < 0:
- defect = errors.MalformedHeaderDefect(line)
- self._cur.defects.append(defect)
- continue
- lastheader = line[:i]
- lastvalue = [line[i+1:].lstrip()]
- # Done with all the lines, so handle the last header.
- if lastheader:
- # XXX reconsider the joining of folded lines
- self._cur[lastheader] = EMPTYSTRING.join(lastvalue).rstrip('\r\n')
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/feedparser.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/feedparser.pyc
deleted file mode 100644
index abe5cc1..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/feedparser.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/feedparser.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/feedparser.pyo
deleted file mode 100644
index 1426e8e..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/feedparser.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/generator.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/generator.py
deleted file mode 100644
index 5626ab9..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/generator.py
+++ /dev/null
@@ -1,372 +0,0 @@
-# Copyright (C) 2001-2010 Python Software Foundation
-# Contact: email-sig@python.org
-
-"""Classes to generate plain text from a message object tree."""
-
-__all__ = ['Generator', 'DecodedGenerator']
-
-import re
-import sys
-import time
-import random
-import warnings
-
-from cStringIO import StringIO
-from email.header import Header
-
-UNDERSCORE = '_'
-NL = '\n'
-
-fcre = re.compile(r'^From ', re.MULTILINE)
-
-def _is8bitstring(s):
- if isinstance(s, str):
- try:
- unicode(s, 'us-ascii')
- except UnicodeError:
- return True
- return False
-
-
-
-class Generator:
- """Generates output from a Message object tree.
-
- This basic generator writes the message to the given file object as plain
- text.
- """
- #
- # Public interface
- #
-
- def __init__(self, outfp, mangle_from_=True, maxheaderlen=78):
- """Create the generator for message flattening.
-
- outfp is the output file-like object for writing the message to. It
- must have a write() method.
-
- Optional mangle_from_ is a flag that, when True (the default), escapes
- From_ lines in the body of the message by putting a `>' in front of
- them.
-
- Optional maxheaderlen specifies the longest length for a non-continued
- header. When a header line is longer (in characters, with tabs
- expanded to 8 spaces) than maxheaderlen, the header will split as
- defined in the Header class. Set maxheaderlen to zero to disable
- header wrapping. The default is 78, as recommended (but not required)
- by RFC 2822.
- """
- self._fp = outfp
- self._mangle_from_ = mangle_from_
- self._maxheaderlen = maxheaderlen
-
- def write(self, s):
- # Just delegate to the file object
- self._fp.write(s)
-
- def flatten(self, msg, unixfrom=False):
- """Print the message object tree rooted at msg to the output file
- specified when the Generator instance was created.
-
- unixfrom is a flag that forces the printing of a Unix From_ delimiter
- before the first object in the message tree. If the original message
- has no From_ delimiter, a `standard' one is crafted. By default, this
- is False to inhibit the printing of any From_ delimiter.
-
- Note that for subobjects, no From_ line is printed.
- """
- if unixfrom:
- ufrom = msg.get_unixfrom()
- if not ufrom:
- ufrom = 'From nobody ' + time.ctime(time.time())
- print >> self._fp, ufrom
- self._write(msg)
-
- def clone(self, fp):
- """Clone this generator with the exact same options."""
- return self.__class__(fp, self._mangle_from_, self._maxheaderlen)
-
- #
- # Protected interface - undocumented ;/
- #
-
- def _write(self, msg):
- # We can't write the headers yet because of the following scenario:
- # say a multipart message includes the boundary string somewhere in
- # its body. We'd have to calculate the new boundary /before/ we write
- # the headers so that we can write the correct Content-Type:
- # parameter.
- #
- # The way we do this, so as to make the _handle_*() methods simpler,
- # is to cache any subpart writes into a StringIO. The we write the
- # headers and the StringIO contents. That way, subpart handlers can
- # Do The Right Thing, and can still modify the Content-Type: header if
- # necessary.
- oldfp = self._fp
- try:
- self._fp = sfp = StringIO()
- self._dispatch(msg)
- finally:
- self._fp = oldfp
- # Write the headers. First we see if the message object wants to
- # handle that itself. If not, we'll do it generically.
- meth = getattr(msg, '_write_headers', None)
- if meth is None:
- self._write_headers(msg)
- else:
- meth(self)
- self._fp.write(sfp.getvalue())
-
- def _dispatch(self, msg):
- # Get the Content-Type: for the message, then try to dispatch to
- # self._handle__(). If there's no handler for the
- # full MIME type, then dispatch to self._handle_(). If
- # that's missing too, then dispatch to self._writeBody().
- main = msg.get_content_maintype()
- sub = msg.get_content_subtype()
- specific = UNDERSCORE.join((main, sub)).replace('-', '_')
- meth = getattr(self, '_handle_' + specific, None)
- if meth is None:
- generic = main.replace('-', '_')
- meth = getattr(self, '_handle_' + generic, None)
- if meth is None:
- meth = self._writeBody
- meth(msg)
-
- #
- # Default handlers
- #
-
- def _write_headers(self, msg):
- for h, v in msg.items():
- print >> self._fp, '%s:' % h,
- if self._maxheaderlen == 0:
- # Explicit no-wrapping
- print >> self._fp, v
- elif isinstance(v, Header):
- # Header instances know what to do
- print >> self._fp, v.encode()
- elif _is8bitstring(v):
- # If we have raw 8bit data in a byte string, we have no idea
- # what the encoding is. There is no safe way to split this
- # string. If it's ascii-subset, then we could do a normal
- # ascii split, but if it's multibyte then we could break the
- # string. There's no way to know so the least harm seems to
- # be to not split the string and risk it being too long.
- print >> self._fp, v
- else:
- # Header's got lots of smarts, so use it. Note that this is
- # fundamentally broken though because we lose idempotency when
- # the header string is continued with tabs. It will now be
- # continued with spaces. This was reversedly broken before we
- # fixed bug 1974. Either way, we lose.
- print >> self._fp, Header(
- v, maxlinelen=self._maxheaderlen, header_name=h).encode()
- # A blank line always separates headers from body
- print >> self._fp
-
- #
- # Handlers for writing types and subtypes
- #
-
- def _handle_text(self, msg):
- payload = msg.get_payload()
- if payload is None:
- return
- if not isinstance(payload, basestring):
- raise TypeError('string payload expected: %s' % type(payload))
- if self._mangle_from_:
- payload = fcre.sub('>From ', payload)
- self._fp.write(payload)
-
- # Default body handler
- _writeBody = _handle_text
-
- def _handle_multipart(self, msg):
- # The trick here is to write out each part separately, merge them all
- # together, and then make sure that the boundary we've chosen isn't
- # present in the payload.
- msgtexts = []
- subparts = msg.get_payload()
- if subparts is None:
- subparts = []
- elif isinstance(subparts, basestring):
- # e.g. a non-strict parse of a message with no starting boundary.
- self._fp.write(subparts)
- return
- elif not isinstance(subparts, list):
- # Scalar payload
- subparts = [subparts]
- for part in subparts:
- s = StringIO()
- g = self.clone(s)
- g.flatten(part, unixfrom=False)
- msgtexts.append(s.getvalue())
- # BAW: What about boundaries that are wrapped in double-quotes?
- boundary = msg.get_boundary()
- if not boundary:
- # Create a boundary that doesn't appear in any of the
- # message texts.
- alltext = NL.join(msgtexts)
- boundary = _make_boundary(alltext)
- msg.set_boundary(boundary)
- # If there's a preamble, write it out, with a trailing CRLF
- if msg.preamble is not None:
- if self._mangle_from_:
- preamble = fcre.sub('>From ', msg.preamble)
- else:
- preamble = msg.preamble
- print >> self._fp, preamble
- # dash-boundary transport-padding CRLF
- print >> self._fp, '--' + boundary
- # body-part
- if msgtexts:
- self._fp.write(msgtexts.pop(0))
- # *encapsulation
- # --> delimiter transport-padding
- # --> CRLF body-part
- for body_part in msgtexts:
- # delimiter transport-padding CRLF
- print >> self._fp, '\n--' + boundary
- # body-part
- self._fp.write(body_part)
- # close-delimiter transport-padding
- self._fp.write('\n--' + boundary + '--')
- if msg.epilogue is not None:
- print >> self._fp
- if self._mangle_from_:
- epilogue = fcre.sub('>From ', msg.epilogue)
- else:
- epilogue = msg.epilogue
- self._fp.write(epilogue)
-
- def _handle_multipart_signed(self, msg):
- # The contents of signed parts has to stay unmodified in order to keep
- # the signature intact per RFC1847 2.1, so we disable header wrapping.
- # RDM: This isn't enough to completely preserve the part, but it helps.
- old_maxheaderlen = self._maxheaderlen
- try:
- self._maxheaderlen = 0
- self._handle_multipart(msg)
- finally:
- self._maxheaderlen = old_maxheaderlen
-
- def _handle_message_delivery_status(self, msg):
- # We can't just write the headers directly to self's file object
- # because this will leave an extra newline between the last header
- # block and the boundary. Sigh.
- blocks = []
- for part in msg.get_payload():
- s = StringIO()
- g = self.clone(s)
- g.flatten(part, unixfrom=False)
- text = s.getvalue()
- lines = text.split('\n')
- # Strip off the unnecessary trailing empty line
- if lines and lines[-1] == '':
- blocks.append(NL.join(lines[:-1]))
- else:
- blocks.append(text)
- # Now join all the blocks with an empty line. This has the lovely
- # effect of separating each block with an empty line, but not adding
- # an extra one after the last one.
- self._fp.write(NL.join(blocks))
-
- def _handle_message(self, msg):
- s = StringIO()
- g = self.clone(s)
- # The payload of a message/rfc822 part should be a multipart sequence
- # of length 1. The zeroth element of the list should be the Message
- # object for the subpart. Extract that object, stringify it, and
- # write it out.
- # Except, it turns out, when it's a string instead, which happens when
- # and only when HeaderParser is used on a message of mime type
- # message/rfc822. Such messages are generated by, for example,
- # Groupwise when forwarding unadorned messages. (Issue 7970.) So
- # in that case we just emit the string body.
- payload = msg.get_payload()
- if isinstance(payload, list):
- g.flatten(msg.get_payload(0), unixfrom=False)
- payload = s.getvalue()
- self._fp.write(payload)
-
-
-
-_FMT = '[Non-text (%(type)s) part of message omitted, filename %(filename)s]'
-
-class DecodedGenerator(Generator):
- """Generates a text representation of a message.
-
- Like the Generator base class, except that non-text parts are substituted
- with a format string representing the part.
- """
- def __init__(self, outfp, mangle_from_=True, maxheaderlen=78, fmt=None):
- """Like Generator.__init__() except that an additional optional
- argument is allowed.
-
- Walks through all subparts of a message. If the subpart is of main
- type `text', then it prints the decoded payload of the subpart.
-
- Otherwise, fmt is a format string that is used instead of the message
- payload. fmt is expanded with the following keywords (in
- %(keyword)s format):
-
- type : Full MIME type of the non-text part
- maintype : Main MIME type of the non-text part
- subtype : Sub-MIME type of the non-text part
- filename : Filename of the non-text part
- description: Description associated with the non-text part
- encoding : Content transfer encoding of the non-text part
-
- The default value for fmt is None, meaning
-
- [Non-text (%(type)s) part of message omitted, filename %(filename)s]
- """
- Generator.__init__(self, outfp, mangle_from_, maxheaderlen)
- if fmt is None:
- self._fmt = _FMT
- else:
- self._fmt = fmt
-
- def _dispatch(self, msg):
- for part in msg.walk():
- maintype = part.get_content_maintype()
- if maintype == 'text':
- print >> self, part.get_payload(decode=True)
- elif maintype == 'multipart':
- # Just skip this
- pass
- else:
- print >> self, self._fmt % {
- 'type' : part.get_content_type(),
- 'maintype' : part.get_content_maintype(),
- 'subtype' : part.get_content_subtype(),
- 'filename' : part.get_filename('[no filename]'),
- 'description': part.get('Content-Description',
- '[no description]'),
- 'encoding' : part.get('Content-Transfer-Encoding',
- '[no encoding]'),
- }
-
-
-
-# Helper
-_width = len(repr(sys.maxint-1))
-_fmt = '%%0%dd' % _width
-
-def _make_boundary(text=None):
- # Craft a random boundary. If text is given, ensure that the chosen
- # boundary doesn't appear in the text.
- token = random.randrange(sys.maxint)
- boundary = ('=' * 15) + (_fmt % token) + '=='
- if text is None:
- return boundary
- b = boundary
- counter = 0
- while True:
- cre = re.compile('^--' + re.escape(b) + '(--)?$', re.MULTILINE)
- if not cre.search(text):
- break
- b = boundary + '.' + str(counter)
- counter += 1
- return b
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/generator.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/generator.pyc
deleted file mode 100644
index 30a5904..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/generator.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/generator.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/generator.pyo
deleted file mode 100644
index 30a5904..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/generator.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/header.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/header.py
deleted file mode 100644
index 2cf870f..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/header.py
+++ /dev/null
@@ -1,514 +0,0 @@
-# Copyright (C) 2002-2006 Python Software Foundation
-# Author: Ben Gertzfield, Barry Warsaw
-# Contact: email-sig@python.org
-
-"""Header encoding and decoding functionality."""
-
-__all__ = [
- 'Header',
- 'decode_header',
- 'make_header',
- ]
-
-import re
-import binascii
-
-import email.quoprimime
-import email.base64mime
-
-from email.errors import HeaderParseError
-from email.charset import Charset
-
-NL = '\n'
-SPACE = ' '
-USPACE = u' '
-SPACE8 = ' ' * 8
-UEMPTYSTRING = u''
-
-MAXLINELEN = 76
-
-USASCII = Charset('us-ascii')
-UTF8 = Charset('utf-8')
-
-# Match encoded-word strings in the form =?charset?q?Hello_World?=
-ecre = re.compile(r'''
- =\? # literal =?
- (?P[^?]*?) # non-greedy up to the next ? is the charset
- \? # literal ?
- (?P[qb]) # either a "q" or a "b", case insensitive
- \? # literal ?
- (?P.*?) # non-greedy up to the next ?= is the encoded string
- \?= # literal ?=
- (?=[ \t]|$) # whitespace or the end of the string
- ''', re.VERBOSE | re.IGNORECASE | re.MULTILINE)
-
-# Field name regexp, including trailing colon, but not separating whitespace,
-# according to RFC 2822. Character range is from tilde to exclamation mark.
-# For use with .match()
-fcre = re.compile(r'[\041-\176]+:$')
-
-# Find a header embedded in a putative header value. Used to check for
-# header injection attack.
-_embeded_header = re.compile(r'\n[^ \t]+:')
-
-
-
-# Helpers
-_max_append = email.quoprimime._max_append
-
-
-
-def decode_header(header):
- """Decode a message header value without converting charset.
-
- Returns a list of (decoded_string, charset) pairs containing each of the
- decoded parts of the header. Charset is None for non-encoded parts of the
- header, otherwise a lower-case string containing the name of the character
- set specified in the encoded string.
-
- An email.errors.HeaderParseError may be raised when certain decoding error
- occurs (e.g. a base64 decoding exception).
- """
- # If no encoding, just return the header
- header = str(header)
- if not ecre.search(header):
- return [(header, None)]
- decoded = []
- dec = ''
- for line in header.splitlines():
- # This line might not have an encoding in it
- if not ecre.search(line):
- decoded.append((line, None))
- continue
- parts = ecre.split(line)
- while parts:
- unenc = parts.pop(0).strip()
- if unenc:
- # Should we continue a long line?
- if decoded and decoded[-1][1] is None:
- decoded[-1] = (decoded[-1][0] + SPACE + unenc, None)
- else:
- decoded.append((unenc, None))
- if parts:
- charset, encoding = [s.lower() for s in parts[0:2]]
- encoded = parts[2]
- dec = None
- if encoding == 'q':
- dec = email.quoprimime.header_decode(encoded)
- elif encoding == 'b':
- paderr = len(encoded) % 4 # Postel's law: add missing padding
- if paderr:
- encoded += '==='[:4 - paderr]
- try:
- dec = email.base64mime.decode(encoded)
- except binascii.Error:
- # Turn this into a higher level exception. BAW: Right
- # now we throw the lower level exception away but
- # when/if we get exception chaining, we'll preserve it.
- raise HeaderParseError
- if dec is None:
- dec = encoded
-
- if decoded and decoded[-1][1] == charset:
- decoded[-1] = (decoded[-1][0] + dec, decoded[-1][1])
- else:
- decoded.append((dec, charset))
- del parts[0:3]
- return decoded
-
-
-
-def make_header(decoded_seq, maxlinelen=None, header_name=None,
- continuation_ws=' '):
- """Create a Header from a sequence of pairs as returned by decode_header()
-
- decode_header() takes a header value string and returns a sequence of
- pairs of the format (decoded_string, charset) where charset is the string
- name of the character set.
-
- This function takes one of those sequence of pairs and returns a Header
- instance. Optional maxlinelen, header_name, and continuation_ws are as in
- the Header constructor.
- """
- h = Header(maxlinelen=maxlinelen, header_name=header_name,
- continuation_ws=continuation_ws)
- for s, charset in decoded_seq:
- # None means us-ascii but we can simply pass it on to h.append()
- if charset is not None and not isinstance(charset, Charset):
- charset = Charset(charset)
- h.append(s, charset)
- return h
-
-
-
-class Header:
- def __init__(self, s=None, charset=None,
- maxlinelen=None, header_name=None,
- continuation_ws=' ', errors='strict'):
- """Create a MIME-compliant header that can contain many character sets.
-
- Optional s is the initial header value. If None, the initial header
- value is not set. You can later append to the header with .append()
- method calls. s may be a byte string or a Unicode string, but see the
- .append() documentation for semantics.
-
- Optional charset serves two purposes: it has the same meaning as the
- charset argument to the .append() method. It also sets the default
- character set for all subsequent .append() calls that omit the charset
- argument. If charset is not provided in the constructor, the us-ascii
- charset is used both as s's initial charset and as the default for
- subsequent .append() calls.
-
- The maximum line length can be specified explicit via maxlinelen. For
- splitting the first line to a shorter value (to account for the field
- header which isn't included in s, e.g. `Subject') pass in the name of
- the field in header_name. The default maxlinelen is 76.
-
- continuation_ws must be RFC 2822 compliant folding whitespace (usually
- either a space or a hard tab) which will be prepended to continuation
- lines.
-
- errors is passed through to the .append() call.
- """
- if charset is None:
- charset = USASCII
- if not isinstance(charset, Charset):
- charset = Charset(charset)
- self._charset = charset
- self._continuation_ws = continuation_ws
- cws_expanded_len = len(continuation_ws.replace('\t', SPACE8))
- # BAW: I believe `chunks' and `maxlinelen' should be non-public.
- self._chunks = []
- if s is not None:
- self.append(s, charset, errors)
- if maxlinelen is None:
- maxlinelen = MAXLINELEN
- if header_name is None:
- # We don't know anything about the field header so the first line
- # is the same length as subsequent lines.
- self._firstlinelen = maxlinelen
- else:
- # The first line should be shorter to take into account the field
- # header. Also subtract off 2 extra for the colon and space.
- self._firstlinelen = maxlinelen - len(header_name) - 2
- # Second and subsequent lines should subtract off the length in
- # columns of the continuation whitespace prefix.
- self._maxlinelen = maxlinelen - cws_expanded_len
-
- def __str__(self):
- """A synonym for self.encode()."""
- return self.encode()
-
- def __unicode__(self):
- """Helper for the built-in unicode function."""
- uchunks = []
- lastcs = None
- for s, charset in self._chunks:
- # We must preserve spaces between encoded and non-encoded word
- # boundaries, which means for us we need to add a space when we go
- # from a charset to None/us-ascii, or from None/us-ascii to a
- # charset. Only do this for the second and subsequent chunks.
- nextcs = charset
- if uchunks:
- if lastcs not in (None, 'us-ascii'):
- if nextcs in (None, 'us-ascii'):
- uchunks.append(USPACE)
- nextcs = None
- elif nextcs not in (None, 'us-ascii'):
- uchunks.append(USPACE)
- lastcs = nextcs
- uchunks.append(unicode(s, str(charset)))
- return UEMPTYSTRING.join(uchunks)
-
- # Rich comparison operators for equality only. BAW: does it make sense to
- # have or explicitly disable <, <=, >, >= operators?
- def __eq__(self, other):
- # other may be a Header or a string. Both are fine so coerce
- # ourselves to a string, swap the args and do another comparison.
- return other == self.encode()
-
- def __ne__(self, other):
- return not self == other
-
- def append(self, s, charset=None, errors='strict'):
- """Append a string to the MIME header.
-
- Optional charset, if given, should be a Charset instance or the name
- of a character set (which will be converted to a Charset instance). A
- value of None (the default) means that the charset given in the
- constructor is used.
-
- s may be a byte string or a Unicode string. If it is a byte string
- (i.e. isinstance(s, str) is true), then charset is the encoding of
- that byte string, and a UnicodeError will be raised if the string
- cannot be decoded with that charset. If s is a Unicode string, then
- charset is a hint specifying the character set of the characters in
- the string. In this case, when producing an RFC 2822 compliant header
- using RFC 2047 rules, the Unicode string will be encoded using the
- following charsets in order: us-ascii, the charset hint, utf-8. The
- first character set not to provoke a UnicodeError is used.
-
- Optional `errors' is passed as the third argument to any unicode() or
- ustr.encode() call.
- """
- if charset is None:
- charset = self._charset
- elif not isinstance(charset, Charset):
- charset = Charset(charset)
- # If the charset is our faux 8bit charset, leave the string unchanged
- if charset != '8bit':
- # We need to test that the string can be converted to unicode and
- # back to a byte string, given the input and output codecs of the
- # charset.
- if isinstance(s, str):
- # Possibly raise UnicodeError if the byte string can't be
- # converted to a unicode with the input codec of the charset.
- incodec = charset.input_codec or 'us-ascii'
- ustr = unicode(s, incodec, errors)
- # Now make sure that the unicode could be converted back to a
- # byte string with the output codec, which may be different
- # than the iput coded. Still, use the original byte string.
- outcodec = charset.output_codec or 'us-ascii'
- ustr.encode(outcodec, errors)
- elif isinstance(s, unicode):
- # Now we have to be sure the unicode string can be converted
- # to a byte string with a reasonable output codec. We want to
- # use the byte string in the chunk.
- for charset in USASCII, charset, UTF8:
- try:
- outcodec = charset.output_codec or 'us-ascii'
- s = s.encode(outcodec, errors)
- break
- except UnicodeError:
- pass
- else:
- assert False, 'utf-8 conversion failed'
- self._chunks.append((s, charset))
-
- def _split(self, s, charset, maxlinelen, splitchars):
- # Split up a header safely for use with encode_chunks.
- splittable = charset.to_splittable(s)
- encoded = charset.from_splittable(splittable, True)
- elen = charset.encoded_header_len(encoded)
- # If the line's encoded length first, just return it
- if elen <= maxlinelen:
- return [(encoded, charset)]
- # If we have undetermined raw 8bit characters sitting in a byte
- # string, we really don't know what the right thing to do is. We
- # can't really split it because it might be multibyte data which we
- # could break if we split it between pairs. The least harm seems to
- # be to not split the header at all, but that means they could go out
- # longer than maxlinelen.
- if charset == '8bit':
- return [(s, charset)]
- # BAW: I'm not sure what the right test here is. What we're trying to
- # do is be faithful to RFC 2822's recommendation that ($2.2.3):
- #
- # "Note: Though structured field bodies are defined in such a way that
- # folding can take place between many of the lexical tokens (and even
- # within some of the lexical tokens), folding SHOULD be limited to
- # placing the CRLF at higher-level syntactic breaks."
- #
- # For now, I can only imagine doing this when the charset is us-ascii,
- # although it's possible that other charsets may also benefit from the
- # higher-level syntactic breaks.
- elif charset == 'us-ascii':
- return self._split_ascii(s, charset, maxlinelen, splitchars)
- # BAW: should we use encoded?
- elif elen == len(s):
- # We can split on _maxlinelen boundaries because we know that the
- # encoding won't change the size of the string
- splitpnt = maxlinelen
- first = charset.from_splittable(splittable[:splitpnt], False)
- last = charset.from_splittable(splittable[splitpnt:], False)
- else:
- # Binary search for split point
- first, last = _binsplit(splittable, charset, maxlinelen)
- # first is of the proper length so just wrap it in the appropriate
- # chrome. last must be recursively split.
- fsplittable = charset.to_splittable(first)
- fencoded = charset.from_splittable(fsplittable, True)
- chunk = [(fencoded, charset)]
- return chunk + self._split(last, charset, self._maxlinelen, splitchars)
-
- def _split_ascii(self, s, charset, firstlen, splitchars):
- chunks = _split_ascii(s, firstlen, self._maxlinelen,
- self._continuation_ws, splitchars)
- return zip(chunks, [charset]*len(chunks))
-
- def _encode_chunks(self, newchunks, maxlinelen):
- # MIME-encode a header with many different charsets and/or encodings.
- #
- # Given a list of pairs (string, charset), return a MIME-encoded
- # string suitable for use in a header field. Each pair may have
- # different charsets and/or encodings, and the resulting header will
- # accurately reflect each setting.
- #
- # Each encoding can be email.utils.QP (quoted-printable, for
- # ASCII-like character sets like iso-8859-1), email.utils.BASE64
- # (Base64, for non-ASCII like character sets like KOI8-R and
- # iso-2022-jp), or None (no encoding).
- #
- # Each pair will be represented on a separate line; the resulting
- # string will be in the format:
- #
- # =?charset1?q?Mar=EDa_Gonz=E1lez_Alonso?=\n
- # =?charset2?b?SvxyZ2VuIEL2aW5n?="
- chunks = []
- for header, charset in newchunks:
- if not header:
- continue
- if charset is None or charset.header_encoding is None:
- s = header
- else:
- s = charset.header_encode(header)
- # Don't add more folding whitespace than necessary
- if chunks and chunks[-1].endswith(' '):
- extra = ''
- else:
- extra = ' '
- _max_append(chunks, s, maxlinelen, extra)
- joiner = NL + self._continuation_ws
- return joiner.join(chunks)
-
- def encode(self, splitchars=';, '):
- """Encode a message header into an RFC-compliant format.
-
- There are many issues involved in converting a given string for use in
- an email header. Only certain character sets are readable in most
- email clients, and as header strings can only contain a subset of
- 7-bit ASCII, care must be taken to properly convert and encode (with
- Base64 or quoted-printable) header strings. In addition, there is a
- 75-character length limit on any given encoded header field, so
- line-wrapping must be performed, even with double-byte character sets.
-
- This method will do its best to convert the string to the correct
- character set used in email, and encode and line wrap it safely with
- the appropriate scheme for that character set.
-
- If the given charset is not known or an error occurs during
- conversion, this function will return the header untouched.
-
- Optional splitchars is a string containing characters to split long
- ASCII lines on, in rough support of RFC 2822's `highest level
- syntactic breaks'. This doesn't affect RFC 2047 encoded lines.
- """
- newchunks = []
- maxlinelen = self._firstlinelen
- lastlen = 0
- for s, charset in self._chunks:
- # The first bit of the next chunk should be just long enough to
- # fill the next line. Don't forget the space separating the
- # encoded words.
- targetlen = maxlinelen - lastlen - 1
- if targetlen < charset.encoded_header_len(''):
- # Stick it on the next line
- targetlen = maxlinelen
- newchunks += self._split(s, charset, targetlen, splitchars)
- lastchunk, lastcharset = newchunks[-1]
- lastlen = lastcharset.encoded_header_len(lastchunk)
- value = self._encode_chunks(newchunks, maxlinelen)
- if _embeded_header.search(value):
- raise HeaderParseError("header value appears to contain "
- "an embedded header: {!r}".format(value))
- return value
-
-
-
-def _split_ascii(s, firstlen, restlen, continuation_ws, splitchars):
- lines = []
- maxlen = firstlen
- for line in s.splitlines():
- # Ignore any leading whitespace (i.e. continuation whitespace) already
- # on the line, since we'll be adding our own.
- line = line.lstrip()
- if len(line) < maxlen:
- lines.append(line)
- maxlen = restlen
- continue
- # Attempt to split the line at the highest-level syntactic break
- # possible. Note that we don't have a lot of smarts about field
- # syntax; we just try to break on semi-colons, then commas, then
- # whitespace.
- for ch in splitchars:
- if ch in line:
- break
- else:
- # There's nothing useful to split the line on, not even spaces, so
- # just append this line unchanged
- lines.append(line)
- maxlen = restlen
- continue
- # Now split the line on the character plus trailing whitespace
- cre = re.compile(r'%s\s*' % ch)
- if ch in ';,':
- eol = ch
- else:
- eol = ''
- joiner = eol + ' '
- joinlen = len(joiner)
- wslen = len(continuation_ws.replace('\t', SPACE8))
- this = []
- linelen = 0
- for part in cre.split(line):
- curlen = linelen + max(0, len(this)-1) * joinlen
- partlen = len(part)
- onfirstline = not lines
- # We don't want to split after the field name, if we're on the
- # first line and the field name is present in the header string.
- if ch == ' ' and onfirstline and \
- len(this) == 1 and fcre.match(this[0]):
- this.append(part)
- linelen += partlen
- elif curlen + partlen > maxlen:
- if this:
- lines.append(joiner.join(this) + eol)
- # If this part is longer than maxlen and we aren't already
- # splitting on whitespace, try to recursively split this line
- # on whitespace.
- if partlen > maxlen and ch != ' ':
- subl = _split_ascii(part, maxlen, restlen,
- continuation_ws, ' ')
- lines.extend(subl[:-1])
- this = [subl[-1]]
- else:
- this = [part]
- linelen = wslen + len(this[-1])
- maxlen = restlen
- else:
- this.append(part)
- linelen += partlen
- # Put any left over parts on a line by themselves
- if this:
- lines.append(joiner.join(this))
- return lines
-
-
-
-def _binsplit(splittable, charset, maxlinelen):
- i = 0
- j = len(splittable)
- while i < j:
- # Invariants:
- # 1. splittable[:k] fits for all k <= i (note that we *assume*,
- # at the start, that splittable[:0] fits).
- # 2. splittable[:k] does not fit for any k > j (at the start,
- # this means we shouldn't look at any k > len(splittable)).
- # 3. We don't know about splittable[:k] for k in i+1..j.
- # 4. We want to set i to the largest k that fits, with i <= k <= j.
- #
- m = (i+j+1) >> 1 # ceiling((i+j)/2); i < m <= j
- chunk = charset.from_splittable(splittable[:m], True)
- chunklen = charset.encoded_header_len(chunk)
- if chunklen <= maxlinelen:
- # m is acceptable, so is a new lower bound.
- i = m
- else:
- # m is not acceptable, so final i must be < m.
- j = m - 1
- # i == j. Invariant #1 implies that splittable[:i] fits, and
- # invariant #2 implies that splittable[:i+1] does not fit, so i
- # is what we're looking for.
- first = charset.from_splittable(splittable[:i], False)
- last = charset.from_splittable(splittable[i:], False)
- return first, last
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/header.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/header.pyc
deleted file mode 100644
index a6f1934..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/header.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/header.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/header.pyo
deleted file mode 100644
index c5147dd..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/header.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/iterators.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/iterators.py
deleted file mode 100644
index e99f228..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/iterators.py
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Barry Warsaw
-# Contact: email-sig@python.org
-
-"""Various types of useful iterators and generators."""
-
-__all__ = [
- 'body_line_iterator',
- 'typed_subpart_iterator',
- 'walk',
- # Do not include _structure() since it's part of the debugging API.
- ]
-
-import sys
-from cStringIO import StringIO
-
-
-
-# This function will become a method of the Message class
-def walk(self):
- """Walk over the message tree, yielding each subpart.
-
- The walk is performed in depth-first order. This method is a
- generator.
- """
- yield self
- if self.is_multipart():
- for subpart in self.get_payload():
- for subsubpart in subpart.walk():
- yield subsubpart
-
-
-
-# These two functions are imported into the Iterators.py interface module.
-def body_line_iterator(msg, decode=False):
- """Iterate over the parts, returning string payloads line-by-line.
-
- Optional decode (default False) is passed through to .get_payload().
- """
- for subpart in msg.walk():
- payload = subpart.get_payload(decode=decode)
- if isinstance(payload, basestring):
- for line in StringIO(payload):
- yield line
-
-
-def typed_subpart_iterator(msg, maintype='text', subtype=None):
- """Iterate over the subparts with a given MIME type.
-
- Use `maintype' as the main MIME type to match against; this defaults to
- "text". Optional `subtype' is the MIME subtype to match against; if
- omitted, only the main type is matched.
- """
- for subpart in msg.walk():
- if subpart.get_content_maintype() == maintype:
- if subtype is None or subpart.get_content_subtype() == subtype:
- yield subpart
-
-
-
-def _structure(msg, fp=None, level=0, include_default=False):
- """A handy debugging aid"""
- if fp is None:
- fp = sys.stdout
- tab = ' ' * (level * 4)
- print >> fp, tab + msg.get_content_type(),
- if include_default:
- print >> fp, '[%s]' % msg.get_default_type()
- else:
- print >> fp
- if msg.is_multipart():
- for subpart in msg.get_payload():
- _structure(subpart, fp, level+1, include_default)
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/iterators.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/iterators.pyc
deleted file mode 100644
index a58142d..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/iterators.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/iterators.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/iterators.pyo
deleted file mode 100644
index a58142d..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/iterators.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/message.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/message.py
deleted file mode 100644
index 7c93370..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/message.py
+++ /dev/null
@@ -1,797 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Barry Warsaw
-# Contact: email-sig@python.org
-
-"""Basic message object for the email package object model."""
-
-__all__ = ['Message']
-
-import re
-import uu
-import binascii
-import warnings
-from cStringIO import StringIO
-
-# Intrapackage imports
-import email.charset
-from email import utils
-from email import errors
-
-SEMISPACE = '; '
-
-# Regular expression that matches `special' characters in parameters, the
-# existence of which force quoting of the parameter value.
-tspecials = re.compile(r'[ \(\)<>@,;:\\"/\[\]\?=]')
-
-
-# Helper functions
-def _splitparam(param):
- # Split header parameters. BAW: this may be too simple. It isn't
- # strictly RFC 2045 (section 5.1) compliant, but it catches most headers
- # found in the wild. We may eventually need a full fledged parser
- # eventually.
- a, sep, b = param.partition(';')
- if not sep:
- return a.strip(), None
- return a.strip(), b.strip()
-
-def _formatparam(param, value=None, quote=True):
- """Convenience function to format and return a key=value pair.
-
- This will quote the value if needed or if quote is true. If value is a
- three tuple (charset, language, value), it will be encoded according
- to RFC2231 rules.
- """
- if value is not None and len(value) > 0:
- # A tuple is used for RFC 2231 encoded parameter values where items
- # are (charset, language, value). charset is a string, not a Charset
- # instance.
- if isinstance(value, tuple):
- # Encode as per RFC 2231
- param += '*'
- value = utils.encode_rfc2231(value[2], value[0], value[1])
- # BAW: Please check this. I think that if quote is set it should
- # force quoting even if not necessary.
- if quote or tspecials.search(value):
- return '%s="%s"' % (param, utils.quote(value))
- else:
- return '%s=%s' % (param, value)
- else:
- return param
-
-def _parseparam(s):
- plist = []
- while s[:1] == ';':
- s = s[1:]
- end = s.find(';')
- while end > 0 and (s.count('"', 0, end) - s.count('\\"', 0, end)) % 2:
- end = s.find(';', end + 1)
- if end < 0:
- end = len(s)
- f = s[:end]
- if '=' in f:
- i = f.index('=')
- f = f[:i].strip().lower() + '=' + f[i+1:].strip()
- plist.append(f.strip())
- s = s[end:]
- return plist
-
-
-def _unquotevalue(value):
- # This is different than utils.collapse_rfc2231_value() because it doesn't
- # try to convert the value to a unicode. Message.get_param() and
- # Message.get_params() are both currently defined to return the tuple in
- # the face of RFC 2231 parameters.
- if isinstance(value, tuple):
- return value[0], value[1], utils.unquote(value[2])
- else:
- return utils.unquote(value)
-
-
-
-class Message:
- """Basic message object.
-
- A message object is defined as something that has a bunch of RFC 2822
- headers and a payload. It may optionally have an envelope header
- (a.k.a. Unix-From or From_ header). If the message is a container (i.e. a
- multipart or a message/rfc822), then the payload is a list of Message
- objects, otherwise it is a string.
-
- Message objects implement part of the `mapping' interface, which assumes
- there is exactly one occurrence of the header per message. Some headers
- do in fact appear multiple times (e.g. Received) and for those headers,
- you must use the explicit API to set or get all the headers. Not all of
- the mapping methods are implemented.
- """
- def __init__(self):
- self._headers = []
- self._unixfrom = None
- self._payload = None
- self._charset = None
- # Defaults for multipart messages
- self.preamble = self.epilogue = None
- self.defects = []
- # Default content type
- self._default_type = 'text/plain'
-
- def __str__(self):
- """Return the entire formatted message as a string.
- This includes the headers, body, and envelope header.
- """
- return self.as_string(unixfrom=True)
-
- def as_string(self, unixfrom=False):
- """Return the entire formatted message as a string.
- Optional `unixfrom' when True, means include the Unix From_ envelope
- header.
-
- This is a convenience method and may not generate the message exactly
- as you intend because by default it mangles lines that begin with
- "From ". For more flexibility, use the flatten() method of a
- Generator instance.
- """
- from email.generator import Generator
- fp = StringIO()
- g = Generator(fp)
- g.flatten(self, unixfrom=unixfrom)
- return fp.getvalue()
-
- def is_multipart(self):
- """Return True if the message consists of multiple parts."""
- return isinstance(self._payload, list)
-
- #
- # Unix From_ line
- #
- def set_unixfrom(self, unixfrom):
- self._unixfrom = unixfrom
-
- def get_unixfrom(self):
- return self._unixfrom
-
- #
- # Payload manipulation.
- #
- def attach(self, payload):
- """Add the given payload to the current payload.
-
- The current payload will always be a list of objects after this method
- is called. If you want to set the payload to a scalar object, use
- set_payload() instead.
- """
- if self._payload is None:
- self._payload = [payload]
- else:
- self._payload.append(payload)
-
- def get_payload(self, i=None, decode=False):
- """Return a reference to the payload.
-
- The payload will either be a list object or a string. If you mutate
- the list object, you modify the message's payload in place. Optional
- i returns that index into the payload.
-
- Optional decode is a flag indicating whether the payload should be
- decoded or not, according to the Content-Transfer-Encoding header
- (default is False).
-
- When True and the message is not a multipart, the payload will be
- decoded if this header's value is `quoted-printable' or `base64'. If
- some other encoding is used, or the header is missing, or if the
- payload has bogus data (i.e. bogus base64 or uuencoded data), the
- payload is returned as-is.
-
- If the message is a multipart and the decode flag is True, then None
- is returned.
- """
- if i is None:
- payload = self._payload
- elif not isinstance(self._payload, list):
- raise TypeError('Expected list, got %s' % type(self._payload))
- else:
- payload = self._payload[i]
- if decode:
- if self.is_multipart():
- return None
- cte = self.get('content-transfer-encoding', '').lower()
- if cte == 'quoted-printable':
- return utils._qdecode(payload)
- elif cte == 'base64':
- try:
- return utils._bdecode(payload)
- except binascii.Error:
- # Incorrect padding
- return payload
- elif cte in ('x-uuencode', 'uuencode', 'uue', 'x-uue'):
- sfp = StringIO()
- try:
- uu.decode(StringIO(payload+'\n'), sfp, quiet=True)
- payload = sfp.getvalue()
- except uu.Error:
- # Some decoding problem
- return payload
- # Everything else, including encodings with 8bit or 7bit are returned
- # unchanged.
- return payload
-
- def set_payload(self, payload, charset=None):
- """Set the payload to the given value.
-
- Optional charset sets the message's default character set. See
- set_charset() for details.
- """
- self._payload = payload
- if charset is not None:
- self.set_charset(charset)
-
- def set_charset(self, charset):
- """Set the charset of the payload to a given character set.
-
- charset can be a Charset instance, a string naming a character set, or
- None. If it is a string it will be converted to a Charset instance.
- If charset is None, the charset parameter will be removed from the
- Content-Type field. Anything else will generate a TypeError.
-
- The message will be assumed to be of type text/* encoded with
- charset.input_charset. It will be converted to charset.output_charset
- and encoded properly, if needed, when generating the plain text
- representation of the message. MIME headers (MIME-Version,
- Content-Type, Content-Transfer-Encoding) will be added as needed.
-
- """
- if charset is None:
- self.del_param('charset')
- self._charset = None
- return
- if isinstance(charset, basestring):
- charset = email.charset.Charset(charset)
- if not isinstance(charset, email.charset.Charset):
- raise TypeError(charset)
- # BAW: should we accept strings that can serve as arguments to the
- # Charset constructor?
- self._charset = charset
- if 'MIME-Version' not in self:
- self.add_header('MIME-Version', '1.0')
- if 'Content-Type' not in self:
- self.add_header('Content-Type', 'text/plain',
- charset=charset.get_output_charset())
- else:
- self.set_param('charset', charset.get_output_charset())
- if isinstance(self._payload, unicode):
- self._payload = self._payload.encode(charset.output_charset)
- if str(charset) != charset.get_output_charset():
- self._payload = charset.body_encode(self._payload)
- if 'Content-Transfer-Encoding' not in self:
- cte = charset.get_body_encoding()
- try:
- cte(self)
- except TypeError:
- self._payload = charset.body_encode(self._payload)
- self.add_header('Content-Transfer-Encoding', cte)
-
- def get_charset(self):
- """Return the Charset instance associated with the message's payload.
- """
- return self._charset
-
- #
- # MAPPING INTERFACE (partial)
- #
- def __len__(self):
- """Return the total number of headers, including duplicates."""
- return len(self._headers)
-
- def __getitem__(self, name):
- """Get a header value.
-
- Return None if the header is missing instead of raising an exception.
-
- Note that if the header appeared multiple times, exactly which
- occurrence gets returned is undefined. Use get_all() to get all
- the values matching a header field name.
- """
- return self.get(name)
-
- def __setitem__(self, name, val):
- """Set the value of a header.
-
- Note: this does not overwrite an existing header with the same field
- name. Use __delitem__() first to delete any existing headers.
- """
- self._headers.append((name, val))
-
- def __delitem__(self, name):
- """Delete all occurrences of a header, if present.
-
- Does not raise an exception if the header is missing.
- """
- name = name.lower()
- newheaders = []
- for k, v in self._headers:
- if k.lower() != name:
- newheaders.append((k, v))
- self._headers = newheaders
-
- def __contains__(self, name):
- return name.lower() in [k.lower() for k, v in self._headers]
-
- def has_key(self, name):
- """Return true if the message contains the header."""
- missing = object()
- return self.get(name, missing) is not missing
-
- def keys(self):
- """Return a list of all the message's header field names.
-
- These will be sorted in the order they appeared in the original
- message, or were added to the message, and may contain duplicates.
- Any fields deleted and re-inserted are always appended to the header
- list.
- """
- return [k for k, v in self._headers]
-
- def values(self):
- """Return a list of all the message's header values.
-
- These will be sorted in the order they appeared in the original
- message, or were added to the message, and may contain duplicates.
- Any fields deleted and re-inserted are always appended to the header
- list.
- """
- return [v for k, v in self._headers]
-
- def items(self):
- """Get all the message's header fields and values.
-
- These will be sorted in the order they appeared in the original
- message, or were added to the message, and may contain duplicates.
- Any fields deleted and re-inserted are always appended to the header
- list.
- """
- return self._headers[:]
-
- def get(self, name, failobj=None):
- """Get a header value.
-
- Like __getitem__() but return failobj instead of None when the field
- is missing.
- """
- name = name.lower()
- for k, v in self._headers:
- if k.lower() == name:
- return v
- return failobj
-
- #
- # Additional useful stuff
- #
-
- def get_all(self, name, failobj=None):
- """Return a list of all the values for the named field.
-
- These will be sorted in the order they appeared in the original
- message, and may contain duplicates. Any fields deleted and
- re-inserted are always appended to the header list.
-
- If no such fields exist, failobj is returned (defaults to None).
- """
- values = []
- name = name.lower()
- for k, v in self._headers:
- if k.lower() == name:
- values.append(v)
- if not values:
- return failobj
- return values
-
- def add_header(self, _name, _value, **_params):
- """Extended header setting.
-
- name is the header field to add. keyword arguments can be used to set
- additional parameters for the header field, with underscores converted
- to dashes. Normally the parameter will be added as key="value" unless
- value is None, in which case only the key will be added. If a
- parameter value contains non-ASCII characters it must be specified as a
- three-tuple of (charset, language, value), in which case it will be
- encoded according to RFC2231 rules.
-
- Example:
-
- msg.add_header('content-disposition', 'attachment', filename='bud.gif')
- """
- parts = []
- for k, v in _params.items():
- if v is None:
- parts.append(k.replace('_', '-'))
- else:
- parts.append(_formatparam(k.replace('_', '-'), v))
- if _value is not None:
- parts.insert(0, _value)
- self._headers.append((_name, SEMISPACE.join(parts)))
-
- def replace_header(self, _name, _value):
- """Replace a header.
-
- Replace the first matching header found in the message, retaining
- header order and case. If no matching header was found, a KeyError is
- raised.
- """
- _name = _name.lower()
- for i, (k, v) in zip(range(len(self._headers)), self._headers):
- if k.lower() == _name:
- self._headers[i] = (k, _value)
- break
- else:
- raise KeyError(_name)
-
- #
- # Use these three methods instead of the three above.
- #
-
- def get_content_type(self):
- """Return the message's content type.
-
- The returned string is coerced to lower case of the form
- `maintype/subtype'. If there was no Content-Type header in the
- message, the default type as given by get_default_type() will be
- returned. Since according to RFC 2045, messages always have a default
- type this will always return a value.
-
- RFC 2045 defines a message's default type to be text/plain unless it
- appears inside a multipart/digest container, in which case it would be
- message/rfc822.
- """
- missing = object()
- value = self.get('content-type', missing)
- if value is missing:
- # This should have no parameters
- return self.get_default_type()
- ctype = _splitparam(value)[0].lower()
- # RFC 2045, section 5.2 says if its invalid, use text/plain
- if ctype.count('/') != 1:
- return 'text/plain'
- return ctype
-
- def get_content_maintype(self):
- """Return the message's main content type.
-
- This is the `maintype' part of the string returned by
- get_content_type().
- """
- ctype = self.get_content_type()
- return ctype.split('/')[0]
-
- def get_content_subtype(self):
- """Returns the message's sub-content type.
-
- This is the `subtype' part of the string returned by
- get_content_type().
- """
- ctype = self.get_content_type()
- return ctype.split('/')[1]
-
- def get_default_type(self):
- """Return the `default' content type.
-
- Most messages have a default content type of text/plain, except for
- messages that are subparts of multipart/digest containers. Such
- subparts have a default content type of message/rfc822.
- """
- return self._default_type
-
- def set_default_type(self, ctype):
- """Set the `default' content type.
-
- ctype should be either "text/plain" or "message/rfc822", although this
- is not enforced. The default content type is not stored in the
- Content-Type header.
- """
- self._default_type = ctype
-
- def _get_params_preserve(self, failobj, header):
- # Like get_params() but preserves the quoting of values. BAW:
- # should this be part of the public interface?
- missing = object()
- value = self.get(header, missing)
- if value is missing:
- return failobj
- params = []
- for p in _parseparam(';' + value):
- try:
- name, val = p.split('=', 1)
- name = name.strip()
- val = val.strip()
- except ValueError:
- # Must have been a bare attribute
- name = p.strip()
- val = ''
- params.append((name, val))
- params = utils.decode_params(params)
- return params
-
- def get_params(self, failobj=None, header='content-type', unquote=True):
- """Return the message's Content-Type parameters, as a list.
-
- The elements of the returned list are 2-tuples of key/value pairs, as
- split on the `=' sign. The left hand side of the `=' is the key,
- while the right hand side is the value. If there is no `=' sign in
- the parameter the value is the empty string. The value is as
- described in the get_param() method.
-
- Optional failobj is the object to return if there is no Content-Type
- header. Optional header is the header to search instead of
- Content-Type. If unquote is True, the value is unquoted.
- """
- missing = object()
- params = self._get_params_preserve(missing, header)
- if params is missing:
- return failobj
- if unquote:
- return [(k, _unquotevalue(v)) for k, v in params]
- else:
- return params
-
- def get_param(self, param, failobj=None, header='content-type',
- unquote=True):
- """Return the parameter value if found in the Content-Type header.
-
- Optional failobj is the object to return if there is no Content-Type
- header, or the Content-Type header has no such parameter. Optional
- header is the header to search instead of Content-Type.
-
- Parameter keys are always compared case insensitively. The return
- value can either be a string, or a 3-tuple if the parameter was RFC
- 2231 encoded. When it's a 3-tuple, the elements of the value are of
- the form (CHARSET, LANGUAGE, VALUE). Note that both CHARSET and
- LANGUAGE can be None, in which case you should consider VALUE to be
- encoded in the us-ascii charset. You can usually ignore LANGUAGE.
-
- Your application should be prepared to deal with 3-tuple return
- values, and can convert the parameter to a Unicode string like so:
-
- param = msg.get_param('foo')
- if isinstance(param, tuple):
- param = unicode(param[2], param[0] or 'us-ascii')
-
- In any case, the parameter value (either the returned string, or the
- VALUE item in the 3-tuple) is always unquoted, unless unquote is set
- to False.
- """
- if header not in self:
- return failobj
- for k, v in self._get_params_preserve(failobj, header):
- if k.lower() == param.lower():
- if unquote:
- return _unquotevalue(v)
- else:
- return v
- return failobj
-
- def set_param(self, param, value, header='Content-Type', requote=True,
- charset=None, language=''):
- """Set a parameter in the Content-Type header.
-
- If the parameter already exists in the header, its value will be
- replaced with the new value.
-
- If header is Content-Type and has not yet been defined for this
- message, it will be set to "text/plain" and the new parameter and
- value will be appended as per RFC 2045.
-
- An alternate header can specified in the header argument, and all
- parameters will be quoted as necessary unless requote is False.
-
- If charset is specified, the parameter will be encoded according to RFC
- 2231. Optional language specifies the RFC 2231 language, defaulting
- to the empty string. Both charset and language should be strings.
- """
- if not isinstance(value, tuple) and charset:
- value = (charset, language, value)
-
- if header not in self and header.lower() == 'content-type':
- ctype = 'text/plain'
- else:
- ctype = self.get(header)
- if not self.get_param(param, header=header):
- if not ctype:
- ctype = _formatparam(param, value, requote)
- else:
- ctype = SEMISPACE.join(
- [ctype, _formatparam(param, value, requote)])
- else:
- ctype = ''
- for old_param, old_value in self.get_params(header=header,
- unquote=requote):
- append_param = ''
- if old_param.lower() == param.lower():
- append_param = _formatparam(param, value, requote)
- else:
- append_param = _formatparam(old_param, old_value, requote)
- if not ctype:
- ctype = append_param
- else:
- ctype = SEMISPACE.join([ctype, append_param])
- if ctype != self.get(header):
- del self[header]
- self[header] = ctype
-
- def del_param(self, param, header='content-type', requote=True):
- """Remove the given parameter completely from the Content-Type header.
-
- The header will be re-written in place without the parameter or its
- value. All values will be quoted as necessary unless requote is
- False. Optional header specifies an alternative to the Content-Type
- header.
- """
- if header not in self:
- return
- new_ctype = ''
- for p, v in self.get_params(header=header, unquote=requote):
- if p.lower() != param.lower():
- if not new_ctype:
- new_ctype = _formatparam(p, v, requote)
- else:
- new_ctype = SEMISPACE.join([new_ctype,
- _formatparam(p, v, requote)])
- if new_ctype != self.get(header):
- del self[header]
- self[header] = new_ctype
-
- def set_type(self, type, header='Content-Type', requote=True):
- """Set the main type and subtype for the Content-Type header.
-
- type must be a string in the form "maintype/subtype", otherwise a
- ValueError is raised.
-
- This method replaces the Content-Type header, keeping all the
- parameters in place. If requote is False, this leaves the existing
- header's quoting as is. Otherwise, the parameters will be quoted (the
- default).
-
- An alternative header can be specified in the header argument. When
- the Content-Type header is set, we'll always also add a MIME-Version
- header.
- """
- # BAW: should we be strict?
- if not type.count('/') == 1:
- raise ValueError
- # Set the Content-Type, you get a MIME-Version
- if header.lower() == 'content-type':
- del self['mime-version']
- self['MIME-Version'] = '1.0'
- if header not in self:
- self[header] = type
- return
- params = self.get_params(header=header, unquote=requote)
- del self[header]
- self[header] = type
- # Skip the first param; it's the old type.
- for p, v in params[1:]:
- self.set_param(p, v, header, requote)
-
- def get_filename(self, failobj=None):
- """Return the filename associated with the payload if present.
-
- The filename is extracted from the Content-Disposition header's
- `filename' parameter, and it is unquoted. If that header is missing
- the `filename' parameter, this method falls back to looking for the
- `name' parameter.
- """
- missing = object()
- filename = self.get_param('filename', missing, 'content-disposition')
- if filename is missing:
- filename = self.get_param('name', missing, 'content-type')
- if filename is missing:
- return failobj
- return utils.collapse_rfc2231_value(filename).strip()
-
- def get_boundary(self, failobj=None):
- """Return the boundary associated with the payload if present.
-
- The boundary is extracted from the Content-Type header's `boundary'
- parameter, and it is unquoted.
- """
- missing = object()
- boundary = self.get_param('boundary', missing)
- if boundary is missing:
- return failobj
- # RFC 2046 says that boundaries may begin but not end in w/s
- return utils.collapse_rfc2231_value(boundary).rstrip()
-
- def set_boundary(self, boundary):
- """Set the boundary parameter in Content-Type to 'boundary'.
-
- This is subtly different than deleting the Content-Type header and
- adding a new one with a new boundary parameter via add_header(). The
- main difference is that using the set_boundary() method preserves the
- order of the Content-Type header in the original message.
-
- HeaderParseError is raised if the message has no Content-Type header.
- """
- missing = object()
- params = self._get_params_preserve(missing, 'content-type')
- if params is missing:
- # There was no Content-Type header, and we don't know what type
- # to set it to, so raise an exception.
- raise errors.HeaderParseError('No Content-Type header found')
- newparams = []
- foundp = False
- for pk, pv in params:
- if pk.lower() == 'boundary':
- newparams.append(('boundary', '"%s"' % boundary))
- foundp = True
- else:
- newparams.append((pk, pv))
- if not foundp:
- # The original Content-Type header had no boundary attribute.
- # Tack one on the end. BAW: should we raise an exception
- # instead???
- newparams.append(('boundary', '"%s"' % boundary))
- # Replace the existing Content-Type header with the new value
- newheaders = []
- for h, v in self._headers:
- if h.lower() == 'content-type':
- parts = []
- for k, v in newparams:
- if v == '':
- parts.append(k)
- else:
- parts.append('%s=%s' % (k, v))
- newheaders.append((h, SEMISPACE.join(parts)))
-
- else:
- newheaders.append((h, v))
- self._headers = newheaders
-
- def get_content_charset(self, failobj=None):
- """Return the charset parameter of the Content-Type header.
-
- The returned string is always coerced to lower case. If there is no
- Content-Type header, or if that header has no charset parameter,
- failobj is returned.
- """
- missing = object()
- charset = self.get_param('charset', missing)
- if charset is missing:
- return failobj
- if isinstance(charset, tuple):
- # RFC 2231 encoded, so decode it, and it better end up as ascii.
- pcharset = charset[0] or 'us-ascii'
- try:
- # LookupError will be raised if the charset isn't known to
- # Python. UnicodeError will be raised if the encoded text
- # contains a character not in the charset.
- charset = unicode(charset[2], pcharset).encode('us-ascii')
- except (LookupError, UnicodeError):
- charset = charset[2]
- # charset character must be in us-ascii range
- try:
- if isinstance(charset, str):
- charset = unicode(charset, 'us-ascii')
- charset = charset.encode('us-ascii')
- except UnicodeError:
- return failobj
- # RFC 2046, $4.1.2 says charsets are not case sensitive
- return charset.lower()
-
- def get_charsets(self, failobj=None):
- """Return a list containing the charset(s) used in this message.
-
- The returned list of items describes the Content-Type headers'
- charset parameter for this message and all the subparts in its
- payload.
-
- Each item will either be a string (the value of the charset parameter
- in the Content-Type header of that part) or the value of the
- 'failobj' parameter (defaults to None), if the part does not have a
- main MIME type of "text", or the charset is not defined.
-
- The list will contain one string for each part of the message, plus
- one for the container message (i.e. self), so that a non-multipart
- message will still return a list of length 1.
- """
- return [part.get_content_charset(failobj) for part in self.walk()]
-
- # I.e. def walk(self): ...
- from email.iterators import walk
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/message.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/message.pyc
deleted file mode 100644
index 9cf7cb8..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/message.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/message.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/message.pyo
deleted file mode 100644
index 9cf7cb8..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/message.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/__init__.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/__init__.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/__init__.pyc
deleted file mode 100644
index ee7fc49..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/__init__.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/__init__.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/__init__.pyo
deleted file mode 100644
index ee7fc49..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/__init__.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/application.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/application.py
deleted file mode 100644
index f5c5905..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/application.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Keith Dart
-# Contact: email-sig@python.org
-
-"""Class representing application/* type MIME documents."""
-
-__all__ = ["MIMEApplication"]
-
-from email import encoders
-from email.mime.nonmultipart import MIMENonMultipart
-
-
-class MIMEApplication(MIMENonMultipart):
- """Class for generating application/* MIME documents."""
-
- def __init__(self, _data, _subtype='octet-stream',
- _encoder=encoders.encode_base64, **_params):
- """Create an application/* type MIME document.
-
- _data is a string containing the raw application data.
-
- _subtype is the MIME content type subtype, defaulting to
- 'octet-stream'.
-
- _encoder is a function which will perform the actual encoding for
- transport of the application data, defaulting to base64 encoding.
-
- Any additional keyword arguments are passed to the base class
- constructor, which turns them into parameters on the Content-Type
- header.
- """
- if _subtype is None:
- raise TypeError('Invalid application MIME subtype')
- MIMENonMultipart.__init__(self, 'application', _subtype, **_params)
- self.set_payload(_data)
- _encoder(self)
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/application.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/application.pyc
deleted file mode 100644
index 877c0df..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/application.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/application.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/application.pyo
deleted file mode 100644
index 877c0df..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/application.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/audio.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/audio.py
deleted file mode 100644
index c7290c4..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/audio.py
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Anthony Baxter
-# Contact: email-sig@python.org
-
-"""Class representing audio/* type MIME documents."""
-
-__all__ = ['MIMEAudio']
-
-import sndhdr
-
-from cStringIO import StringIO
-from email import encoders
-from email.mime.nonmultipart import MIMENonMultipart
-
-
-
-_sndhdr_MIMEmap = {'au' : 'basic',
- 'wav' :'x-wav',
- 'aiff':'x-aiff',
- 'aifc':'x-aiff',
- }
-
-# There are others in sndhdr that don't have MIME types. :(
-# Additional ones to be added to sndhdr? midi, mp3, realaudio, wma??
-def _whatsnd(data):
- """Try to identify a sound file type.
-
- sndhdr.what() has a pretty cruddy interface, unfortunately. This is why
- we re-do it here. It would be easier to reverse engineer the Unix 'file'
- command and use the standard 'magic' file, as shipped with a modern Unix.
- """
- hdr = data[:512]
- fakefile = StringIO(hdr)
- for testfn in sndhdr.tests:
- res = testfn(hdr, fakefile)
- if res is not None:
- return _sndhdr_MIMEmap.get(res[0])
- return None
-
-
-
-class MIMEAudio(MIMENonMultipart):
- """Class for generating audio/* MIME documents."""
-
- def __init__(self, _audiodata, _subtype=None,
- _encoder=encoders.encode_base64, **_params):
- """Create an audio/* type MIME document.
-
- _audiodata is a string containing the raw audio data. If this data
- can be decoded by the standard Python `sndhdr' module, then the
- subtype will be automatically included in the Content-Type header.
- Otherwise, you can specify the specific audio subtype via the
- _subtype parameter. If _subtype is not given, and no subtype can be
- guessed, a TypeError is raised.
-
- _encoder is a function which will perform the actual encoding for
- transport of the image data. It takes one argument, which is this
- Image instance. It should use get_payload() and set_payload() to
- change the payload to the encoded form. It should also add any
- Content-Transfer-Encoding or other headers to the message as
- necessary. The default encoding is Base64.
-
- Any additional keyword arguments are passed to the base class
- constructor, which turns them into parameters on the Content-Type
- header.
- """
- if _subtype is None:
- _subtype = _whatsnd(_audiodata)
- if _subtype is None:
- raise TypeError('Could not find audio MIME subtype')
- MIMENonMultipart.__init__(self, 'audio', _subtype, **_params)
- self.set_payload(_audiodata)
- _encoder(self)
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/audio.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/audio.pyc
deleted file mode 100644
index 1f58399..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/audio.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/audio.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/audio.pyo
deleted file mode 100644
index 1f58399..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/audio.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/base.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/base.py
deleted file mode 100644
index ac91925..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/base.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Barry Warsaw
-# Contact: email-sig@python.org
-
-"""Base class for MIME specializations."""
-
-__all__ = ['MIMEBase']
-
-from email import message
-
-
-
-class MIMEBase(message.Message):
- """Base class for MIME specializations."""
-
- def __init__(self, _maintype, _subtype, **_params):
- """This constructor adds a Content-Type: and a MIME-Version: header.
-
- The Content-Type: header is taken from the _maintype and _subtype
- arguments. Additional parameters for this header are taken from the
- keyword arguments.
- """
- message.Message.__init__(self)
- ctype = '%s/%s' % (_maintype, _subtype)
- self.add_header('Content-Type', ctype, **_params)
- self['MIME-Version'] = '1.0'
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/base.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/base.pyc
deleted file mode 100644
index 9fa4028..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/base.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/base.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/base.pyo
deleted file mode 100644
index 9fa4028..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/base.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/image.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/image.py
deleted file mode 100644
index 5563823..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/image.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Barry Warsaw
-# Contact: email-sig@python.org
-
-"""Class representing image/* type MIME documents."""
-
-__all__ = ['MIMEImage']
-
-import imghdr
-
-from email import encoders
-from email.mime.nonmultipart import MIMENonMultipart
-
-
-
-class MIMEImage(MIMENonMultipart):
- """Class for generating image/* type MIME documents."""
-
- def __init__(self, _imagedata, _subtype=None,
- _encoder=encoders.encode_base64, **_params):
- """Create an image/* type MIME document.
-
- _imagedata is a string containing the raw image data. If this data
- can be decoded by the standard Python `imghdr' module, then the
- subtype will be automatically included in the Content-Type header.
- Otherwise, you can specify the specific image subtype via the _subtype
- parameter.
-
- _encoder is a function which will perform the actual encoding for
- transport of the image data. It takes one argument, which is this
- Image instance. It should use get_payload() and set_payload() to
- change the payload to the encoded form. It should also add any
- Content-Transfer-Encoding or other headers to the message as
- necessary. The default encoding is Base64.
-
- Any additional keyword arguments are passed to the base class
- constructor, which turns them into parameters on the Content-Type
- header.
- """
- if _subtype is None:
- _subtype = imghdr.what(None, _imagedata)
- if _subtype is None:
- raise TypeError('Could not guess image MIME subtype')
- MIMENonMultipart.__init__(self, 'image', _subtype, **_params)
- self.set_payload(_imagedata)
- _encoder(self)
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/image.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/image.pyc
deleted file mode 100644
index a4245fb..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/image.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/image.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/image.pyo
deleted file mode 100644
index a4245fb..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/image.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/message.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/message.py
deleted file mode 100644
index 275dbfd..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/message.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Barry Warsaw
-# Contact: email-sig@python.org
-
-"""Class representing message/* MIME documents."""
-
-__all__ = ['MIMEMessage']
-
-from email import message
-from email.mime.nonmultipart import MIMENonMultipart
-
-
-
-class MIMEMessage(MIMENonMultipart):
- """Class representing message/* MIME documents."""
-
- def __init__(self, _msg, _subtype='rfc822'):
- """Create a message/* type MIME document.
-
- _msg is a message object and must be an instance of Message, or a
- derived class of Message, otherwise a TypeError is raised.
-
- Optional _subtype defines the subtype of the contained message. The
- default is "rfc822" (this is defined by the MIME standard, even though
- the term "rfc822" is technically outdated by RFC 2822).
- """
- MIMENonMultipart.__init__(self, 'message', _subtype)
- if not isinstance(_msg, message.Message):
- raise TypeError('Argument is not an instance of Message')
- # It's convenient to use this base class method. We need to do it
- # this way or we'll get an exception
- message.Message.attach(self, _msg)
- # And be sure our default type is set correctly
- self.set_default_type('message/rfc822')
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/message.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/message.pyc
deleted file mode 100644
index 24255ba..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/message.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/message.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/message.pyo
deleted file mode 100644
index 24255ba..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/message.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/multipart.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/multipart.py
deleted file mode 100644
index 9661865..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/multipart.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright (C) 2002-2006 Python Software Foundation
-# Author: Barry Warsaw
-# Contact: email-sig@python.org
-
-"""Base class for MIME multipart/* type messages."""
-
-__all__ = ['MIMEMultipart']
-
-from email.mime.base import MIMEBase
-
-
-
-class MIMEMultipart(MIMEBase):
- """Base class for MIME multipart/* type messages."""
-
- def __init__(self, _subtype='mixed', boundary=None, _subparts=None,
- **_params):
- """Creates a multipart/* type message.
-
- By default, creates a multipart/mixed message, with proper
- Content-Type and MIME-Version headers.
-
- _subtype is the subtype of the multipart content type, defaulting to
- `mixed'.
-
- boundary is the multipart boundary string. By default it is
- calculated as needed.
-
- _subparts is a sequence of initial subparts for the payload. It
- must be an iterable object, such as a list. You can always
- attach new subparts to the message by using the attach() method.
-
- Additional parameters for the Content-Type header are taken from the
- keyword arguments (or passed into the _params argument).
- """
- MIMEBase.__init__(self, 'multipart', _subtype, **_params)
-
- # Initialise _payload to an empty list as the Message superclass's
- # implementation of is_multipart assumes that _payload is a list for
- # multipart messages.
- self._payload = []
-
- if _subparts:
- for p in _subparts:
- self.attach(p)
- if boundary:
- self.set_boundary(boundary)
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/multipart.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/multipart.pyc
deleted file mode 100644
index de72269..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/multipart.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/multipart.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/multipart.pyo
deleted file mode 100644
index de72269..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/multipart.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/nonmultipart.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/nonmultipart.py
deleted file mode 100644
index fc3b9eb..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/nonmultipart.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (C) 2002-2006 Python Software Foundation
-# Author: Barry Warsaw
-# Contact: email-sig@python.org
-
-"""Base class for MIME type messages that are not multipart."""
-
-__all__ = ['MIMENonMultipart']
-
-from email import errors
-from email.mime.base import MIMEBase
-
-
-
-class MIMENonMultipart(MIMEBase):
- """Base class for MIME multipart/* type messages."""
-
- def attach(self, payload):
- # The public API prohibits attaching multiple subparts to MIMEBase
- # derived subtypes since none of them are, by definition, of content
- # type multipart/*
- raise errors.MultipartConversionError(
- 'Cannot attach additional subparts to non-multipart/*')
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/nonmultipart.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/nonmultipart.pyc
deleted file mode 100644
index d28b04c..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/nonmultipart.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/nonmultipart.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/nonmultipart.pyo
deleted file mode 100644
index d28b04c..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/nonmultipart.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/text.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/text.py
deleted file mode 100644
index 5747db5..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/text.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Barry Warsaw
-# Contact: email-sig@python.org
-
-"""Class representing text/* type MIME documents."""
-
-__all__ = ['MIMEText']
-
-from email.encoders import encode_7or8bit
-from email.mime.nonmultipart import MIMENonMultipart
-
-
-
-class MIMEText(MIMENonMultipart):
- """Class for generating text/* type MIME documents."""
-
- def __init__(self, _text, _subtype='plain', _charset='us-ascii'):
- """Create a text/* type MIME document.
-
- _text is the string for this message object.
-
- _subtype is the MIME sub content type, defaulting to "plain".
-
- _charset is the character set parameter added to the Content-Type
- header. This defaults to "us-ascii". Note that as a side-effect, the
- Content-Transfer-Encoding header will also be set.
- """
- MIMENonMultipart.__init__(self, 'text', _subtype,
- **{'charset': _charset})
- self.set_payload(_text, _charset)
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/text.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/text.pyc
deleted file mode 100644
index 47d8880..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/text.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/text.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/text.pyo
deleted file mode 100644
index 47d8880..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/mime/text.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/parser.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/parser.py
deleted file mode 100644
index 2fcaf25..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/parser.py
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Barry Warsaw, Thomas Wouters, Anthony Baxter
-# Contact: email-sig@python.org
-
-"""A parser of RFC 2822 and MIME email messages."""
-
-__all__ = ['Parser', 'HeaderParser']
-
-import warnings
-from cStringIO import StringIO
-
-from email.feedparser import FeedParser
-from email.message import Message
-
-
-
-class Parser:
- def __init__(self, *args, **kws):
- """Parser of RFC 2822 and MIME email messages.
-
- Creates an in-memory object tree representing the email message, which
- can then be manipulated and turned over to a Generator to return the
- textual representation of the message.
-
- The string must be formatted as a block of RFC 2822 headers and header
- continuation lines, optionally preceeded by a `Unix-from' header. The
- header block is terminated either by the end of the string or by a
- blank line.
-
- _class is the class to instantiate for new message objects when they
- must be created. This class must have a constructor that can take
- zero arguments. Default is Message.Message.
- """
- if len(args) >= 1:
- if '_class' in kws:
- raise TypeError("Multiple values for keyword arg '_class'")
- kws['_class'] = args[0]
- if len(args) == 2:
- if 'strict' in kws:
- raise TypeError("Multiple values for keyword arg 'strict'")
- kws['strict'] = args[1]
- if len(args) > 2:
- raise TypeError('Too many arguments')
- if '_class' in kws:
- self._class = kws['_class']
- del kws['_class']
- else:
- self._class = Message
- if 'strict' in kws:
- warnings.warn("'strict' argument is deprecated (and ignored)",
- DeprecationWarning, 2)
- del kws['strict']
- if kws:
- raise TypeError('Unexpected keyword arguments')
-
- def parse(self, fp, headersonly=False):
- """Create a message structure from the data in a file.
-
- Reads all the data from the file and returns the root of the message
- structure. Optional headersonly is a flag specifying whether to stop
- parsing after reading the headers or not. The default is False,
- meaning it parses the entire contents of the file.
- """
- feedparser = FeedParser(self._class)
- if headersonly:
- feedparser._set_headersonly()
- while True:
- data = fp.read(8192)
- if not data:
- break
- feedparser.feed(data)
- return feedparser.close()
-
- def parsestr(self, text, headersonly=False):
- """Create a message structure from a string.
-
- Returns the root of the message structure. Optional headersonly is a
- flag specifying whether to stop parsing after reading the headers or
- not. The default is False, meaning it parses the entire contents of
- the file.
- """
- return self.parse(StringIO(text), headersonly=headersonly)
-
-
-
-class HeaderParser(Parser):
- def parse(self, fp, headersonly=True):
- return Parser.parse(self, fp, True)
-
- def parsestr(self, text, headersonly=True):
- return Parser.parsestr(self, text, True)
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/parser.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/parser.pyc
deleted file mode 100644
index 3d69e12..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/parser.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/parser.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/parser.pyo
deleted file mode 100644
index 3d69e12..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/parser.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/quoprimime.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/quoprimime.py
deleted file mode 100644
index 0c18a9e..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/quoprimime.py
+++ /dev/null
@@ -1,336 +0,0 @@
-# Copyright (C) 2001-2006 Python Software Foundation
-# Author: Ben Gertzfield
-# Contact: email-sig@python.org
-
-"""Quoted-printable content transfer encoding per RFCs 2045-2047.
-
-This module handles the content transfer encoding method defined in RFC 2045
-to encode US ASCII-like 8-bit data called `quoted-printable'. It is used to
-safely encode text that is in a character set similar to the 7-bit US ASCII
-character set, but that includes some 8-bit characters that are normally not
-allowed in email bodies or headers.
-
-Quoted-printable is very space-inefficient for encoding binary files; use the
-email.base64mime module for that instead.
-
-This module provides an interface to encode and decode both headers and bodies
-with quoted-printable encoding.
-
-RFC 2045 defines a method for including character set information in an
-`encoded-word' in a header. This method is commonly used for 8-bit real names
-in To:/From:/Cc: etc. fields, as well as Subject: lines.
-
-This module does not do the line wrapping or end-of-line character
-conversion necessary for proper internationalized headers; it only
-does dumb encoding and decoding. To deal with the various line
-wrapping issues, use the email.header module.
-"""
-
-__all__ = [
- 'body_decode',
- 'body_encode',
- 'body_quopri_check',
- 'body_quopri_len',
- 'decode',
- 'decodestring',
- 'encode',
- 'encodestring',
- 'header_decode',
- 'header_encode',
- 'header_quopri_check',
- 'header_quopri_len',
- 'quote',
- 'unquote',
- ]
-
-import re
-
-from string import hexdigits
-from email.utils import fix_eols
-
-CRLF = '\r\n'
-NL = '\n'
-
-# See also Charset.py
-MISC_LEN = 7
-
-hqre = re.compile(r'[^-a-zA-Z0-9!*+/ ]')
-bqre = re.compile(r'[^ !-<>-~\t]')
-
-
-
-# Helpers
-def header_quopri_check(c):
- """Return True if the character should be escaped with header quopri."""
- return bool(hqre.match(c))
-
-
-def body_quopri_check(c):
- """Return True if the character should be escaped with body quopri."""
- return bool(bqre.match(c))
-
-
-def header_quopri_len(s):
- """Return the length of str when it is encoded with header quopri."""
- count = 0
- for c in s:
- if hqre.match(c):
- count += 3
- else:
- count += 1
- return count
-
-
-def body_quopri_len(str):
- """Return the length of str when it is encoded with body quopri."""
- count = 0
- for c in str:
- if bqre.match(c):
- count += 3
- else:
- count += 1
- return count
-
-
-def _max_append(L, s, maxlen, extra=''):
- if not L:
- L.append(s.lstrip())
- elif len(L[-1]) + len(s) <= maxlen:
- L[-1] += extra + s
- else:
- L.append(s.lstrip())
-
-
-def unquote(s):
- """Turn a string in the form =AB to the ASCII character with value 0xab"""
- return chr(int(s[1:3], 16))
-
-
-def quote(c):
- return "=%02X" % ord(c)
-
-
-
-def header_encode(header, charset="iso-8859-1", keep_eols=False,
- maxlinelen=76, eol=NL):
- """Encode a single header line with quoted-printable (like) encoding.
-
- Defined in RFC 2045, this `Q' encoding is similar to quoted-printable, but
- used specifically for email header fields to allow charsets with mostly 7
- bit characters (and some 8 bit) to remain more or less readable in non-RFC
- 2045 aware mail clients.
-
- charset names the character set to use to encode the header. It defaults
- to iso-8859-1.
-
- The resulting string will be in the form:
-
- "=?charset?q?I_f=E2rt_in_your_g=E8n=E8ral_dire=E7tion?\\n
- =?charset?q?Silly_=C8nglish_Kn=EEghts?="
-
- with each line wrapped safely at, at most, maxlinelen characters (defaults
- to 76 characters). If maxlinelen is None, the entire string is encoded in
- one chunk with no splitting.
-
- End-of-line characters (\\r, \\n, \\r\\n) will be automatically converted
- to the canonical email line separator \\r\\n unless the keep_eols
- parameter is True (the default is False).
-
- Each line of the header will be terminated in the value of eol, which
- defaults to "\\n". Set this to "\\r\\n" if you are using the result of
- this function directly in email.
- """
- # Return empty headers unchanged
- if not header:
- return header
-
- if not keep_eols:
- header = fix_eols(header)
-
- # Quopri encode each line, in encoded chunks no greater than maxlinelen in
- # length, after the RFC chrome is added in.
- quoted = []
- if maxlinelen is None:
- # An obnoxiously large number that's good enough
- max_encoded = 100000
- else:
- max_encoded = maxlinelen - len(charset) - MISC_LEN - 1
-
- for c in header:
- # Space may be represented as _ instead of =20 for readability
- if c == ' ':
- _max_append(quoted, '_', max_encoded)
- # These characters can be included verbatim
- elif not hqre.match(c):
- _max_append(quoted, c, max_encoded)
- # Otherwise, replace with hex value like =E2
- else:
- _max_append(quoted, "=%02X" % ord(c), max_encoded)
-
- # Now add the RFC chrome to each encoded chunk and glue the chunks
- # together. BAW: should we be able to specify the leading whitespace in
- # the joiner?
- joiner = eol + ' '
- return joiner.join(['=?%s?q?%s?=' % (charset, line) for line in quoted])
-
-
-
-def encode(body, binary=False, maxlinelen=76, eol=NL):
- """Encode with quoted-printable, wrapping at maxlinelen characters.
-
- If binary is False (the default), end-of-line characters will be converted
- to the canonical email end-of-line sequence \\r\\n. Otherwise they will
- be left verbatim.
-
- Each line of encoded text will end with eol, which defaults to "\\n". Set
- this to "\\r\\n" if you will be using the result of this function directly
- in an email.
-
- Each line will be wrapped at, at most, maxlinelen characters (defaults to
- 76 characters). Long lines will have the `soft linefeed' quoted-printable
- character "=" appended to them, so the decoded text will be identical to
- the original text.
- """
- if not body:
- return body
-
- if not binary:
- body = fix_eols(body)
-
- # BAW: We're accumulating the body text by string concatenation. That
- # can't be very efficient, but I don't have time now to rewrite it. It
- # just feels like this algorithm could be more efficient.
- encoded_body = ''
- lineno = -1
- # Preserve line endings here so we can check later to see an eol needs to
- # be added to the output later.
- lines = body.splitlines(1)
- for line in lines:
- # But strip off line-endings for processing this line.
- if line.endswith(CRLF):
- line = line[:-2]
- elif line[-1] in CRLF:
- line = line[:-1]
-
- lineno += 1
- encoded_line = ''
- prev = None
- linelen = len(line)
- # Now we need to examine every character to see if it needs to be
- # quopri encoded. BAW: again, string concatenation is inefficient.
- for j in range(linelen):
- c = line[j]
- prev = c
- if bqre.match(c):
- c = quote(c)
- elif j+1 == linelen:
- # Check for whitespace at end of line; special case
- if c not in ' \t':
- encoded_line += c
- prev = c
- continue
- # Check to see to see if the line has reached its maximum length
- if len(encoded_line) + len(c) >= maxlinelen:
- encoded_body += encoded_line + '=' + eol
- encoded_line = ''
- encoded_line += c
- # Now at end of line..
- if prev and prev in ' \t':
- # Special case for whitespace at end of file
- if lineno + 1 == len(lines):
- prev = quote(prev)
- if len(encoded_line) + len(prev) > maxlinelen:
- encoded_body += encoded_line + '=' + eol + prev
- else:
- encoded_body += encoded_line + prev
- # Just normal whitespace at end of line
- else:
- encoded_body += encoded_line + prev + '=' + eol
- encoded_line = ''
- # Now look at the line we just finished and it has a line ending, we
- # need to add eol to the end of the line.
- if lines[lineno].endswith(CRLF) or lines[lineno][-1] in CRLF:
- encoded_body += encoded_line + eol
- else:
- encoded_body += encoded_line
- encoded_line = ''
- return encoded_body
-
-
-# For convenience and backwards compatibility w/ standard base64 module
-body_encode = encode
-encodestring = encode
-
-
-
-# BAW: I'm not sure if the intent was for the signature of this function to be
-# the same as base64MIME.decode() or not...
-def decode(encoded, eol=NL):
- """Decode a quoted-printable string.
-
- Lines are separated with eol, which defaults to \\n.
- """
- if not encoded:
- return encoded
- # BAW: see comment in encode() above. Again, we're building up the
- # decoded string with string concatenation, which could be done much more
- # efficiently.
- decoded = ''
-
- for line in encoded.splitlines():
- line = line.rstrip()
- if not line:
- decoded += eol
- continue
-
- i = 0
- n = len(line)
- while i < n:
- c = line[i]
- if c != '=':
- decoded += c
- i += 1
- # Otherwise, c == "=". Are we at the end of the line? If so, add
- # a soft line break.
- elif i+1 == n:
- i += 1
- continue
- # Decode if in form =AB
- elif i+2 < n and line[i+1] in hexdigits and line[i+2] in hexdigits:
- decoded += unquote(line[i:i+3])
- i += 3
- # Otherwise, not in form =AB, pass literally
- else:
- decoded += c
- i += 1
-
- if i == n:
- decoded += eol
- # Special case if original string did not end with eol
- if not encoded.endswith(eol) and decoded.endswith(eol):
- decoded = decoded[:-1]
- return decoded
-
-
-# For convenience and backwards compatibility w/ standard base64 module
-body_decode = decode
-decodestring = decode
-
-
-
-def _unquote_match(match):
- """Turn a match in the form =AB to the ASCII character with value 0xab"""
- s = match.group(0)
- return unquote(s)
-
-
-# Header decoding is done a bit differently
-def header_decode(s):
- """Decode a string encoded with RFC 2045 MIME header `Q' encoding.
-
- This function does not parse a full MIME header value encoded with
- quoted-printable (like =?iso-8895-1?q?Hello_World?=) -- please use
- the high level email.header class for that functionality.
- """
- s = s.replace('_', ' ')
- return re.sub(r'=[a-fA-F0-9]{2}', _unquote_match, s)
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/quoprimime.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/quoprimime.pyc
deleted file mode 100644
index 811f00a..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/quoprimime.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/quoprimime.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/quoprimime.pyo
deleted file mode 100644
index 811f00a..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/quoprimime.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/__init__.py b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/__init__.pyc b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/__init__.pyc
deleted file mode 100644
index 8f1c05d..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/__init__.pyc and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/__init__.pyo b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/__init__.pyo
deleted file mode 100644
index 8f1c05d..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/__init__.pyo and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/PyBanner048.gif b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/PyBanner048.gif
deleted file mode 100644
index 1a5c87f..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/PyBanner048.gif and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/audiotest.au b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/audiotest.au
deleted file mode 100644
index f76b050..0000000
Binary files a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/audiotest.au and /dev/null differ
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_01.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_01.txt
deleted file mode 100644
index 7e33bcf..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_01.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-Return-Path:
-Delivered-To: bbb@zzz.org
-Received: by mail.zzz.org (Postfix, from userid 889)
- id 27CEAD38CC; Fri, 4 May 2001 14:05:44 -0400 (EDT)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-Message-ID: <15090.61304.110929.45684@aaa.zzz.org>
-From: bbb@ddd.com (John X. Doe)
-To: bbb@zzz.org
-Subject: This is a test message
-Date: Fri, 4 May 2001 14:05:44 -0400
-
-
-Hi,
-
-Do you like this message?
-
--Me
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_02.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_02.txt
deleted file mode 100644
index 43f2480..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_02.txt
+++ /dev/null
@@ -1,135 +0,0 @@
-MIME-version: 1.0
-From: ppp-request@zzz.org
-Sender: ppp-admin@zzz.org
-To: ppp@zzz.org
-Subject: Ppp digest, Vol 1 #2 - 5 msgs
-Date: Fri, 20 Apr 2001 20:18:00 -0400 (EDT)
-X-Mailer: Mailman v2.0.4
-X-Mailman-Version: 2.0.4
-Content-Type: multipart/mixed; boundary="192.168.1.2.889.32614.987812255.500.21814"
-
---192.168.1.2.889.32614.987812255.500.21814
-Content-type: text/plain; charset=us-ascii
-Content-description: Masthead (Ppp digest, Vol 1 #2)
-
-Send Ppp mailing list submissions to
- ppp@zzz.org
-
-To subscribe or unsubscribe via the World Wide Web, visit
- http://www.zzz.org/mailman/listinfo/ppp
-or, via email, send a message with subject or body 'help' to
- ppp-request@zzz.org
-
-You can reach the person managing the list at
- ppp-admin@zzz.org
-
-When replying, please edit your Subject line so it is more specific
-than "Re: Contents of Ppp digest..."
-
-
---192.168.1.2.889.32614.987812255.500.21814
-Content-type: text/plain; charset=us-ascii
-Content-description: Today's Topics (5 msgs)
-
-Today's Topics:
-
- 1. testing #1 (Barry A. Warsaw)
- 2. testing #2 (Barry A. Warsaw)
- 3. testing #3 (Barry A. Warsaw)
- 4. testing #4 (Barry A. Warsaw)
- 5. testing #5 (Barry A. Warsaw)
-
---192.168.1.2.889.32614.987812255.500.21814
-Content-Type: multipart/digest; boundary="__--__--"
-
---__--__--
-
-Message: 1
-Content-Type: text/plain; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-Date: Fri, 20 Apr 2001 20:16:13 -0400
-To: ppp@zzz.org
-From: barry@digicool.com (Barry A. Warsaw)
-Subject: [Ppp] testing #1
-Precedence: bulk
-
-
-hello
-
-
---__--__--
-
-Message: 2
-Date: Fri, 20 Apr 2001 20:16:21 -0400
-Content-Type: text/plain; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-To: ppp@zzz.org
-From: barry@digicool.com (Barry A. Warsaw)
-Precedence: bulk
-
-
-hello
-
-
---__--__--
-
-Message: 3
-Date: Fri, 20 Apr 2001 20:16:25 -0400
-Content-Type: text/plain; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-To: ppp@zzz.org
-From: barry@digicool.com (Barry A. Warsaw)
-Subject: [Ppp] testing #3
-Precedence: bulk
-
-
-hello
-
-
---__--__--
-
-Message: 4
-Date: Fri, 20 Apr 2001 20:16:28 -0400
-Content-Type: text/plain; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-To: ppp@zzz.org
-From: barry@digicool.com (Barry A. Warsaw)
-Subject: [Ppp] testing #4
-Precedence: bulk
-
-
-hello
-
-
---__--__--
-
-Message: 5
-Date: Fri, 20 Apr 2001 20:16:32 -0400
-Content-Type: text/plain; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-To: ppp@zzz.org
-From: barry@digicool.com (Barry A. Warsaw)
-Subject: [Ppp] testing #5
-Precedence: bulk
-
-
-hello
-
-
-
-
---__--__----
---192.168.1.2.889.32614.987812255.500.21814
-Content-type: text/plain; charset=us-ascii
-Content-description: Digest Footer
-
-_______________________________________________
-Ppp mailing list
-Ppp@zzz.org
-http://www.zzz.org/mailman/listinfo/ppp
-
-
---192.168.1.2.889.32614.987812255.500.21814--
-
-End of Ppp Digest
-
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_03.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_03.txt
deleted file mode 100644
index c748ebf..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_03.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-Return-Path:
-Delivered-To: bbb@zzz.org
-Received: by mail.zzz.org (Postfix, from userid 889)
- id 27CEAD38CC; Fri, 4 May 2001 14:05:44 -0400 (EDT)
-Message-ID: <15090.61304.110929.45684@aaa.zzz.org>
-From: bbb@ddd.com (John X. Doe)
-To: bbb@zzz.org
-Subject: This is a test message
-Date: Fri, 4 May 2001 14:05:44 -0400
-
-
-Hi,
-
-Do you like this message?
-
--Me
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_04.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_04.txt
deleted file mode 100644
index 1f633c4..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_04.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-Return-Path:
-Delivered-To: barry@python.org
-Received: by mail.python.org (Postfix, from userid 889)
- id C2BF0D37C6; Tue, 11 Sep 2001 00:05:05 -0400 (EDT)
-MIME-Version: 1.0
-Content-Type: multipart/mixed; boundary="h90VIIIKmx"
-Content-Transfer-Encoding: 7bit
-Message-ID: <15261.36209.358846.118674@anthem.python.org>
-From: barry@python.org (Barry A. Warsaw)
-To: barry@python.org
-Subject: a simple multipart
-Date: Tue, 11 Sep 2001 00:05:05 -0400
-X-Mailer: VM 6.95 under 21.4 (patch 4) "Artificial Intelligence" XEmacs Lucid
-X-Attribution: BAW
-X-Oblique-Strategy: Make a door into a window
-
-
---h90VIIIKmx
-Content-Type: text/plain
-Content-Disposition: inline;
- filename="msg.txt"
-Content-Transfer-Encoding: 7bit
-
-a simple kind of mirror
-to reflect upon our own
-
---h90VIIIKmx
-Content-Type: text/plain
-Content-Disposition: inline;
- filename="msg.txt"
-Content-Transfer-Encoding: 7bit
-
-a simple kind of mirror
-to reflect upon our own
-
---h90VIIIKmx--
-
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_05.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_05.txt
deleted file mode 100644
index 87d5e9c..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_05.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-From: foo
-Subject: bar
-To: baz
-MIME-Version: 1.0
-Content-Type: multipart/report; report-type=delivery-status;
- boundary="D1690A7AC1.996856090/mail.example.com"
-Message-Id: <20010803162810.0CA8AA7ACC@mail.example.com>
-
-This is a MIME-encapsulated message.
-
---D1690A7AC1.996856090/mail.example.com
-Content-Type: text/plain
-
-Yadda yadda yadda
-
---D1690A7AC1.996856090/mail.example.com
-
-Yadda yadda yadda
-
---D1690A7AC1.996856090/mail.example.com
-Content-Type: message/rfc822
-
-From: nobody@python.org
-
-Yadda yadda yadda
-
---D1690A7AC1.996856090/mail.example.com--
-
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_06.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_06.txt
deleted file mode 100644
index 69f3a47..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_06.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-Return-Path:
-Delivered-To: barry@python.org
-MIME-Version: 1.0
-Content-Type: message/rfc822
-Content-Description: forwarded message
-Content-Transfer-Encoding: 7bit
-Message-ID: <15265.9482.641338.555352@python.org>
-From: barry@zope.com (Barry A. Warsaw)
-Sender: barry@python.org
-To: barry@python.org
-Subject: forwarded message from Barry A. Warsaw
-Date: Thu, 13 Sep 2001 17:28:42 -0400
-X-Mailer: VM 6.95 under 21.4 (patch 4) "Artificial Intelligence" XEmacs Lucid
-X-Attribution: BAW
-X-Oblique-Strategy: Be dirty
-X-Url: http://barry.wooz.org
-
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Return-Path:
-Delivered-To: barry@python.org
-Message-ID: <15265.9468.713530.98441@python.org>
-From: barry@zope.com (Barry A. Warsaw)
-Sender: barry@python.org
-To: barry@python.org
-Subject: testing
-Date: Thu, 13 Sep 2001 17:28:28 -0400
-X-Mailer: VM 6.95 under 21.4 (patch 4) "Artificial Intelligence" XEmacs Lucid
-X-Attribution: BAW
-X-Oblique-Strategy: Spectrum analysis
-X-Url: http://barry.wooz.org
-
-
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_07.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_07.txt
deleted file mode 100644
index 721f3a0..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_07.txt
+++ /dev/null
@@ -1,83 +0,0 @@
-MIME-Version: 1.0
-From: Barry
-To: Dingus Lovers
-Subject: Here is your dingus fish
-Date: Fri, 20 Apr 2001 19:35:02 -0400
-Content-Type: multipart/mixed; boundary="BOUNDARY"
-
---BOUNDARY
-Content-Type: text/plain; charset="us-ascii"
-
-Hi there,
-
-This is the dingus fish.
-
---BOUNDARY
-Content-Type: image/gif; name="dingusfish.gif"
-Content-Transfer-Encoding: base64
-content-disposition: attachment; filename="dingusfish.gif"
-
-R0lGODdhAAEAAfAAAP///wAAACwAAAAAAAEAAQAC/oSPqcvtD6OctNqLs968+w+G4kiW5omm6sq2
-7gvH8kzX9o3n+s73/g8MCofEovGITGICTKbyCV0FDNOo9SqpQqpOrJfXzTQj2vD3TGtqL+NtGQ2f
-qTXmxzuOd7WXdcc9DyjU53ewFni4s0fGhdiYaEhGBelICTNoV1j5NUnFcrmUqemjNifJVWpaOqaI
-oFq3SspZsSraE7sHq3jr1MZqWvi662vxV4tD+pvKW6aLDOCLyur8PDwbanyDeq0N3DctbQYeLDvR
-RY6t95m6UB0d3mwIrV7e2VGNvjjffukeJp4w7F65KecGFsTHQGAygOrgrWs1jt28Rc88KESYcGLA
-/obvTkH6p+CinWJiJmIMqXGQwH/y4qk0SYjgQTczT3ajKZGfuI0uJ4kkVI/DT5s3/ejkxI0aT4Y+
-YTYgWbImUaXk9nlLmnSh1qJiJFl0OpUqRK4oOy7NyRQtHWofhoYVxkwWXKUSn0YsS+fUV6lhqfYb
-6ayd3Z5qQdG1B7bvQzaJjwUV2lixMUZ7JVsOlfjWVr/3NB/uFvnySBN6Dcb6rGwaRM3wsormw5cC
-M9NxWy/bWdufudCvy8bOAjXjVVwta/uO21sE5RHBCzNFXtgq9ORtH4eYjVP4Yryo026nvkFmCeyA
-B29efV6ravCMK5JwWd5897Qrx7ll38o6iHDZ/rXPR//feevhF4l7wjUGX3xq1eeRfM4RSJGBIV1D
-z1gKPkfWag3mVBVvva1RlX5bAJTPR/2YqNtw/FkIYYEi/pIZiAdpcxpoHtmnYYoZtvhUftzdx5ZX
-JSKDW405zkGcZzzGZ6KEv4FI224oDmijlEf+xp6MJK5ojY/ASeVUR+wsKRuJ+XFZ5o7ZeEime8t1
-ouUsU6YjF5ZtUihhkGfCdFQLWQFJ3UXxmElfhQnR+eCdcDbkFZp6vTRmj56ApCihn5QGpaToNZmR
-n3NVSpZcQpZ2KEONusaiCsKAug0wkQbJSFO+PTSjneGxOuFjPlUk3ovWvdIerjUg9ZGIOtGq/qeX
-eCYrrCX+1UPsgTKGGRSbzd5q156d/gpfbJxe66eD5iQKrXj7RGgruGxs62qebBHUKS32CKluCiqZ
-qh+pmehmEb71noAUoe5e9Zm17S7773V10pjrtG4CmuurCV/n6zLK5turWNhqOvFXbjhZrMD0YhKe
-wR0zOyuvsh6MWrGoIuzvyWu5y1WIFAqmJselypxXh6dKLNOKEB98L88bS2rkNqqlKzCNJp9c0G0j
-Gzh0iRrCbHSXmPR643QS+4rWhgFmnSbSuXCjS0xAOWkU2UdLqyuUNfHSFdUouy3bm5i5GnDM3tG8
-doJ4r5tqu3pPbRSVfvs8uJzeNXhp3n4j/tZ42SwH7eaWUUOjc3qFV9453UHTXZfcLH+OeNs5g36x
-lBnHvTm7EbMbLeuaLncao8vWCXimfo1o+843Ak6y4ChNeGntvAYvfLK4ezmoyNIbNCLTCXO9ZV3A
-E8/s88RczPzDwI4Ob7XZyl7+9Miban29h+tJZPrE21wgvBphDfrrfPdCTPKJD/y98L1rZwHcV6Jq
-Zab0metpuNIX/qAFPoz171WUaUb4HAhBSzHuHfjzHb3kha/2Cctis/ORArVHNYfFyYRH2pYIRzic
-isVOfPWD1b6mRTqpCRBozzof6UZVvFXRxWIr3GGrEviGYgyPMfahheiSaLs/9QeFu7oZ/ndSY8DD
-ya9x+uPed+7mxN2IzIISBOMLFYWVqC3Pew1T2nFuuCiwZS5/v6II10i4t1OJcUH2U9zxKodHsGGv
-Oa+zkvNUYUOa/TCCRutF9MzDwdlUMJADTCGSbDQ5OV4PTamDoPEi6Ecc/RF5RWwkcdSXvSOaDWSn
-I9LlvubFTQpuc6JKXLcKeb+xdbKRBnwREemXyjg6ME65aJiOuBgrktzykfPLJBKR9ClMavJ62/Ff
-BlNIyod9yX9wcSXexnXFpvkrbXk64xsx5Db7wXKP5fSgsvwIMM/9631VLBfkmtbHRXpqmtei52hG
-pUwSlo+BASQoeILDOBgREECxBBh5/iYmNsQ9dIv5+OI++QkqdsJPc3uykz5fkM+OraeekcQF7X4n
-B5S67za5U967PmooGQhUXfF7afXyCD7ONdRe17QogYjVx38uLwtrS6nhTnm15LQUnu9E2uK6CNI/
-1HOABj0ESwOjut4FEpFQpdNAm4K2LHnDWHNcmKB2ioKBogysVZtMO2nSxUdZ8Yk2kJc7URioLVI0
-YgmtIwZj4LoeKemgnOnbUdGnzZ4Oa6scqiolBGqS6RgWNLu0RMhcaE6rhhU4hiuqFXPAG8fGwTPW
-FKeLMtdVmXLSs5YJGF/YeVm7rREMlY3UYE+yCxbaMXX8y15m5zVHq6GOKDMynzII/jdUHdyVqIy0
-ifX2+r/EgtZcvRzSb72gU9ui87M2VecjKildW/aFqaYhKoryUjfB/g4qtyVuc60xFDGmCxwjW+qu
-zjuwl2GkOWn66+3QiiEctvd04OVvcCVzjgT7lrkvjVGKKHmmlDUKowSeikb5kK/mJReuWOxONx+s
-ULsl+Lqb0CVn0SrVyJ6wt4t6yTeSCafhPhAf0OXn6L60UMxiLolFAtmN35S2Ob1lZpQ1r/n0Qb5D
-oQ1zJiRVDgF8N3Q8TYfbi3DyWCy3lT1nxyBs6FT3S2GOzWRlxwKvlRP0RPJA9SjxEy0UoEnkA+M4
-cnzLMJrBGWLFEaaUb5lvpqbq/loOaU5+DFuHPxo82/OZuM8FXG3oVNZhtWpMpb/0Xu5m/LfLhHZQ
-7yuVI0MqZ7NE43imC8jH3IwGZlbPm0xkJYs7+2U48hXTsFSMqgGDvai0kLxyynKNT/waj+q1c1tz
-GjOpPBgdCSq3UKZxCSsqFIY+O6JbAWGWcV1pwqLyj5sGqCF1xb1F3varUWqrJv6cN3PrUXzijtfZ
-FshpBL3Xwr4GIPvU2N8EjrJgS1zl21rbXQMXeXc5jjFyrhpCzijSv/RQtyPSzHCFMhlME95fHglt
-pRsX+dfSQjUeHAlpWzJ5iOo79Ldnaxai6bXTcGO3fp07ri7HLEmXXPlYi8bv/qVxvNcdra6m7Rlb
-6JBTb5fd66VhFRjGArh2n7R1rDW4P5NOT9K0I183T2scYkeZ3q/VFyLb09U9ajzXBS8Kgkhc4mBS
-kYY9cy3Vy9lUnuNJH8HGIclUilwnBtjUOH0gteGOZ4c/XNrhXLSYDyxfnD8z1pDy7rYRvDolhnbe
-UMzxCZUs40s6s7UIvBnLgc0+vKuOkIXeOrDymlp+Zxra4MZLBbVrqD/jTJ597pDmnw5c4+DbyB88
-9Cg9DodYcSuMZT/114pptqc/EuTjRPvH/z5slzI3tluOEBBLqOXLOX+0I5929tO97wkvl/atCz+y
-xJrdwteW2FNW/NSmBP+f/maYtVs/bYyBC7Ox3jsYZHL05CIrBa/nS+b3bHfiYm4Ueil1YZZSgAUI
-fFZ1dxUmeA2oQRQ3RuGXNGLFV9/XbGFGPV6kfzk1TBBCd+izc7q1H+OHMJwmaBX2IQNYVAKHYepV
-SSGCe6CnbYHHETKGNe43EDvFgZr0gB/nVHPHZ80VV1ojOiI3XDvYIkl4ayo4bxQIgrFXWTvBI0nH
-VElWMuw2aLUWCRHHf8ymVCHjFlJnOSojfevCYyyyZDH0IcvHhrsnQ5O1OsWzONuVVKIxSxiFZ/tR
-fKDAf6xFTnw4O9Qig2VCfW2hJQrmMOuHW0W3dLQmCMO2ccdUd/xyfflH/olTiHZVdGwb8nIwRzSE
-J15jFlOJuBZBZ4CiyHyd2IFylFlB+HgHhYabhWOGwYO1ZH/Og1dtQlFMk352CGRSIFTapnWQEUtN
-l4zv8S0aaCFDyGCBqDUxZYpxGHX01y/JuH1xhn7TOCnNCI4eKDs5WGX4R425F4vF1o3BJ4vO0otq
-I3rimI7jJY1jISqnBxknCIvruF83mF5wN4X7qGLIhR8A2Vg0yFERSIXn9Vv3GHy3Vj/WIkKddlYi
-yIMv2I/VMjTLpW7pt05SWIZR0RPyxpB4SIUM9lBPGBl0GC7oSEEwRYLe4pJpZY2P0zbI1n+Oc44w
-qY3PUnmF0ixjVpDD/mJ9wpOBGTVgXlaCaZiPcIWK5NiKBIiPdGaQ0TWGvAiG7nMchdZb7Vgf8zNi
-MuMyzRdy/lePe9iC4TRx7WhhOQI/QiSVNAmAa2lT/piFbuh7ofJoYSZzrSZ1bvmWw3eN2nKUPVky
-uPN5/VRfohRd0VYZoqhKIlU6TXYhJxmPUIloAwc1bPmHEpaZYZORHNlXUJM07hATwHR8MJYqkwWR
-WaIezFhxSFlc8/Fq82hEnpeRozg3ULhhr9lAGtVEkCg5ZNRuuVleBPaZadhG0ZgkyPmDOTOKzViM
-YgOcpukKqQcbjAWS0IleQ2ROjdh6A+md1qWdBRSX7iSYgFRTtRmBpJioieXJiHfJiMGIR9fJOn8I
-MSfXYhspn4ooSa2mSAj4n+8Bmg03fBJZoPOJgsVZRxu1oOMRPXYYjdqjihFaEoZpXBREanuJoRI6
-cibFinq4ngUKh/wQd/H5ofYCZ0HJXR62opZFaAT0iFIZo4DIiUojkjeqKiuoZirKo5Y1a7AWckGa
-BkuYoD5lpDK6eUs6CkDqpETwl1EqpfhJpVeKpVl6EgUAADs=
-
---BOUNDARY--
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_08.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_08.txt
deleted file mode 100644
index b563083..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_08.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-MIME-Version: 1.0
-From: Barry Warsaw
-To: Dingus Lovers
-Subject: Lyrics
-Date: Fri, 20 Apr 2001 19:35:02 -0400
-Content-Type: multipart/mixed; boundary="BOUNDARY"
-
---BOUNDARY
-Content-Type: text/plain; charset="us-ascii"
-
-
---BOUNDARY
-Content-Type: text/html; charset="iso-8859-1"
-
-
---BOUNDARY
-Content-Type: text/plain; charset="iso-8859-2"
-
-
---BOUNDARY
-Content-Type: text/plain; charset="koi8-r"
-
-
---BOUNDARY--
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_09.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_09.txt
deleted file mode 100644
index 575c4c2..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_09.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-MIME-Version: 1.0
-From: Barry Warsaw
-To: Dingus Lovers
-Subject: Lyrics
-Date: Fri, 20 Apr 2001 19:35:02 -0400
-Content-Type: multipart/mixed; boundary="BOUNDARY"
-
---BOUNDARY
-Content-Type: text/plain; charset="us-ascii"
-
-
---BOUNDARY
-Content-Type: text/html; charset="iso-8859-1"
-
-
---BOUNDARY
-Content-Type: text/plain
-
-
---BOUNDARY
-Content-Type: text/plain; charset="koi8-r"
-
-
---BOUNDARY--
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_10.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_10.txt
deleted file mode 100644
index 0790396..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_10.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-MIME-Version: 1.0
-From: Barry Warsaw
-To: Dingus Lovers
-Subject: Lyrics
-Date: Fri, 20 Apr 2001 19:35:02 -0400
-Content-Type: multipart/mixed; boundary="BOUNDARY"
-
---BOUNDARY
-Content-Type: text/plain; charset="us-ascii"
-Content-Transfer-Encoding: 7bit
-
-This is a 7bit encoded message.
-
---BOUNDARY
-Content-Type: text/html; charset="iso-8859-1"
-Content-Transfer-Encoding: Quoted-Printable
-
-=A1This is a Quoted Printable encoded message!
-
---BOUNDARY
-Content-Type: text/plain; charset="iso-8859-1"
-Content-Transfer-Encoding: Base64
-
-VGhpcyBpcyBhIEJhc2U2NCBlbmNvZGVkIG1lc3NhZ2Uu
-
-
---BOUNDARY
-Content-Type: text/plain; charset="iso-8859-1"
-Content-Transfer-Encoding: Base64
-
-VGhpcyBpcyBhIEJhc2U2NCBlbmNvZGVkIG1lc3NhZ2UuCg==
-
-
---BOUNDARY
-Content-Type: text/plain; charset="iso-8859-1"
-
-This has no Content-Transfer-Encoding: header.
-
---BOUNDARY--
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_11.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_11.txt
deleted file mode 100644
index 8f7f199..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_11.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Content-Type: message/rfc822
-MIME-Version: 1.0
-Subject: The enclosing message
-
-Subject: An enclosed message
-
-Here is the body of the message.
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_12.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_12.txt
deleted file mode 100644
index 4bec8d9..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_12.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-MIME-Version: 1.0
-From: Barry Warsaw
-To: Dingus Lovers
-Subject: Lyrics
-Date: Fri, 20 Apr 2001 19:35:02 -0400
-Content-Type: multipart/mixed; boundary="BOUNDARY"
-
---BOUNDARY
-Content-Type: text/plain; charset="us-ascii"
-
-
---BOUNDARY
-Content-Type: text/html; charset="iso-8859-1"
-
-
---BOUNDARY
-Content-Type: multipart/mixed; boundary="ANOTHER"
-
---ANOTHER
-Content-Type: text/plain; charset="iso-8859-2"
-
-
---ANOTHER
-Content-Type: text/plain; charset="iso-8859-3"
-
---ANOTHER--
-
---BOUNDARY
-Content-Type: text/plain; charset="us-ascii"
-
-
---BOUNDARY
-Content-Type: text/plain; charset="koi8-r"
-
-
---BOUNDARY--
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_12a.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_12a.txt
deleted file mode 100644
index e94224e..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_12a.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-MIME-Version: 1.0
-From: Barry Warsaw
-To: Dingus Lovers
-Subject: Lyrics
-Date: Fri, 20 Apr 2001 19:35:02 -0400
-Content-Type: multipart/mixed; boundary="BOUNDARY"
-
---BOUNDARY
-Content-Type: text/plain; charset="us-ascii"
-
-
---BOUNDARY
-Content-Type: text/html; charset="iso-8859-1"
-
-
---BOUNDARY
-Content-Type: multipart/mixed; boundary="ANOTHER"
-
---ANOTHER
-Content-Type: text/plain; charset="iso-8859-2"
-
-
---ANOTHER
-Content-Type: text/plain; charset="iso-8859-3"
-
-
---ANOTHER--
-
-
---BOUNDARY
-Content-Type: text/plain; charset="us-ascii"
-
-
---BOUNDARY
-Content-Type: text/plain; charset="koi8-r"
-
-
---BOUNDARY--
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_13.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_13.txt
deleted file mode 100644
index 8e6d52d..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_13.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-MIME-Version: 1.0
-From: Barry
-To: Dingus Lovers
-Subject: Here is your dingus fish
-Date: Fri, 20 Apr 2001 19:35:02 -0400
-Content-Type: multipart/mixed; boundary="OUTER"
-
---OUTER
-Content-Type: text/plain; charset="us-ascii"
-
-A text/plain part
-
---OUTER
-Content-Type: multipart/mixed; boundary=BOUNDARY
-
-
---BOUNDARY
-Content-Type: text/plain; charset="us-ascii"
-
-Hi there,
-
-This is the dingus fish.
-
---BOUNDARY
-Content-Type: image/gif; name="dingusfish.gif"
-Content-Transfer-Encoding: base64
-content-disposition: attachment; filename="dingusfish.gif"
-
-R0lGODdhAAEAAfAAAP///wAAACwAAAAAAAEAAQAC/oSPqcvtD6OctNqLs968+w+G4kiW5omm6sq2
-7gvH8kzX9o3n+s73/g8MCofEovGITGICTKbyCV0FDNOo9SqpQqpOrJfXzTQj2vD3TGtqL+NtGQ2f
-qTXmxzuOd7WXdcc9DyjU53ewFni4s0fGhdiYaEhGBelICTNoV1j5NUnFcrmUqemjNifJVWpaOqaI
-oFq3SspZsSraE7sHq3jr1MZqWvi662vxV4tD+pvKW6aLDOCLyur8PDwbanyDeq0N3DctbQYeLDvR
-RY6t95m6UB0d3mwIrV7e2VGNvjjffukeJp4w7F65KecGFsTHQGAygOrgrWs1jt28Rc88KESYcGLA
-/obvTkH6p+CinWJiJmIMqXGQwH/y4qk0SYjgQTczT3ajKZGfuI0uJ4kkVI/DT5s3/ejkxI0aT4Y+
-YTYgWbImUaXk9nlLmnSh1qJiJFl0OpUqRK4oOy7NyRQtHWofhoYVxkwWXKUSn0YsS+fUV6lhqfYb
-6ayd3Z5qQdG1B7bvQzaJjwUV2lixMUZ7JVsOlfjWVr/3NB/uFvnySBN6Dcb6rGwaRM3wsormw5cC
-M9NxWy/bWdufudCvy8bOAjXjVVwta/uO21sE5RHBCzNFXtgq9ORtH4eYjVP4Yryo026nvkFmCeyA
-B29efV6ravCMK5JwWd5897Qrx7ll38o6iHDZ/rXPR//feevhF4l7wjUGX3xq1eeRfM4RSJGBIV1D
-z1gKPkfWag3mVBVvva1RlX5bAJTPR/2YqNtw/FkIYYEi/pIZiAdpcxpoHtmnYYoZtvhUftzdx5ZX
-JSKDW405zkGcZzzGZ6KEv4FI224oDmijlEf+xp6MJK5ojY/ASeVUR+wsKRuJ+XFZ5o7ZeEime8t1
-ouUsU6YjF5ZtUihhkGfCdFQLWQFJ3UXxmElfhQnR+eCdcDbkFZp6vTRmj56ApCihn5QGpaToNZmR
-n3NVSpZcQpZ2KEONusaiCsKAug0wkQbJSFO+PTSjneGxOuFjPlUk3ovWvdIerjUg9ZGIOtGq/qeX
-eCYrrCX+1UPsgTKGGRSbzd5q156d/gpfbJxe66eD5iQKrXj7RGgruGxs62qebBHUKS32CKluCiqZ
-qh+pmehmEb71noAUoe5e9Zm17S7773V10pjrtG4CmuurCV/n6zLK5turWNhqOvFXbjhZrMD0YhKe
-wR0zOyuvsh6MWrGoIuzvyWu5y1WIFAqmJselypxXh6dKLNOKEB98L88bS2rkNqqlKzCNJp9c0G0j
-Gzh0iRrCbHSXmPR643QS+4rWhgFmnSbSuXCjS0xAOWkU2UdLqyuUNfHSFdUouy3bm5i5GnDM3tG8
-doJ4r5tqu3pPbRSVfvs8uJzeNXhp3n4j/tZ42SwH7eaWUUOjc3qFV9453UHTXZfcLH+OeNs5g36x
-lBnHvTm7EbMbLeuaLncao8vWCXimfo1o+843Ak6y4ChNeGntvAYvfLK4ezmoyNIbNCLTCXO9ZV3A
-E8/s88RczPzDwI4Ob7XZyl7+9Miban29h+tJZPrE21wgvBphDfrrfPdCTPKJD/y98L1rZwHcV6Jq
-Zab0metpuNIX/qAFPoz171WUaUb4HAhBSzHuHfjzHb3kha/2Cctis/ORArVHNYfFyYRH2pYIRzic
-isVOfPWD1b6mRTqpCRBozzof6UZVvFXRxWIr3GGrEviGYgyPMfahheiSaLs/9QeFu7oZ/ndSY8DD
-ya9x+uPed+7mxN2IzIISBOMLFYWVqC3Pew1T2nFuuCiwZS5/v6II10i4t1OJcUH2U9zxKodHsGGv
-Oa+zkvNUYUOa/TCCRutF9MzDwdlUMJADTCGSbDQ5OV4PTamDoPEi6Ecc/RF5RWwkcdSXvSOaDWSn
-I9LlvubFTQpuc6JKXLcKeb+xdbKRBnwREemXyjg6ME65aJiOuBgrktzykfPLJBKR9ClMavJ62/Ff
-BlNIyod9yX9wcSXexnXFpvkrbXk64xsx5Db7wXKP5fSgsvwIMM/9631VLBfkmtbHRXpqmtei52hG
-pUwSlo+BASQoeILDOBgREECxBBh5/iYmNsQ9dIv5+OI++QkqdsJPc3uykz5fkM+OraeekcQF7X4n
-B5S67za5U967PmooGQhUXfF7afXyCD7ONdRe17QogYjVx38uLwtrS6nhTnm15LQUnu9E2uK6CNI/
-1HOABj0ESwOjut4FEpFQpdNAm4K2LHnDWHNcmKB2ioKBogysVZtMO2nSxUdZ8Yk2kJc7URioLVI0
-YgmtIwZj4LoeKemgnOnbUdGnzZ4Oa6scqiolBGqS6RgWNLu0RMhcaE6rhhU4hiuqFXPAG8fGwTPW
-FKeLMtdVmXLSs5YJGF/YeVm7rREMlY3UYE+yCxbaMXX8y15m5zVHq6GOKDMynzII/jdUHdyVqIy0
-ifX2+r/EgtZcvRzSb72gU9ui87M2VecjKildW/aFqaYhKoryUjfB/g4qtyVuc60xFDGmCxwjW+qu
-zjuwl2GkOWn66+3QiiEctvd04OVvcCVzjgT7lrkvjVGKKHmmlDUKowSeikb5kK/mJReuWOxONx+s
-ULsl+Lqb0CVn0SrVyJ6wt4t6yTeSCafhPhAf0OXn6L60UMxiLolFAtmN35S2Ob1lZpQ1r/n0Qb5D
-oQ1zJiRVDgF8N3Q8TYfbi3DyWCy3lT1nxyBs6FT3S2GOzWRlxwKvlRP0RPJA9SjxEy0UoEnkA+M4
-cnzLMJrBGWLFEaaUb5lvpqbq/loOaU5+DFuHPxo82/OZuM8FXG3oVNZhtWpMpb/0Xu5m/LfLhHZQ
-7yuVI0MqZ7NE43imC8jH3IwGZlbPm0xkJYs7+2U48hXTsFSMqgGDvai0kLxyynKNT/waj+q1c1tz
-GjOpPBgdCSq3UKZxCSsqFIY+O6JbAWGWcV1pwqLyj5sGqCF1xb1F3varUWqrJv6cN3PrUXzijtfZ
-FshpBL3Xwr4GIPvU2N8EjrJgS1zl21rbXQMXeXc5jjFyrhpCzijSv/RQtyPSzHCFMhlME95fHglt
-pRsX+dfSQjUeHAlpWzJ5iOo79Ldnaxai6bXTcGO3fp07ri7HLEmXXPlYi8bv/qVxvNcdra6m7Rlb
-6JBTb5fd66VhFRjGArh2n7R1rDW4P5NOT9K0I183T2scYkeZ3q/VFyLb09U9ajzXBS8Kgkhc4mBS
-kYY9cy3Vy9lUnuNJH8HGIclUilwnBtjUOH0gteGOZ4c/XNrhXLSYDyxfnD8z1pDy7rYRvDolhnbe
-UMzxCZUs40s6s7UIvBnLgc0+vKuOkIXeOrDymlp+Zxra4MZLBbVrqD/jTJ597pDmnw5c4+DbyB88
-9Cg9DodYcSuMZT/114pptqc/EuTjRPvH/z5slzI3tluOEBBLqOXLOX+0I5929tO97wkvl/atCz+y
-xJrdwteW2FNW/NSmBP+f/maYtVs/bYyBC7Ox3jsYZHL05CIrBa/nS+b3bHfiYm4Ueil1YZZSgAUI
-fFZ1dxUmeA2oQRQ3RuGXNGLFV9/XbGFGPV6kfzk1TBBCd+izc7q1H+OHMJwmaBX2IQNYVAKHYepV
-SSGCe6CnbYHHETKGNe43EDvFgZr0gB/nVHPHZ80VV1ojOiI3XDvYIkl4ayo4bxQIgrFXWTvBI0nH
-VElWMuw2aLUWCRHHf8ymVCHjFlJnOSojfevCYyyyZDH0IcvHhrsnQ5O1OsWzONuVVKIxSxiFZ/tR
-fKDAf6xFTnw4O9Qig2VCfW2hJQrmMOuHW0W3dLQmCMO2ccdUd/xyfflH/olTiHZVdGwb8nIwRzSE
-J15jFlOJuBZBZ4CiyHyd2IFylFlB+HgHhYabhWOGwYO1ZH/Og1dtQlFMk352CGRSIFTapnWQEUtN
-l4zv8S0aaCFDyGCBqDUxZYpxGHX01y/JuH1xhn7TOCnNCI4eKDs5WGX4R425F4vF1o3BJ4vO0otq
-I3rimI7jJY1jISqnBxknCIvruF83mF5wN4X7qGLIhR8A2Vg0yFERSIXn9Vv3GHy3Vj/WIkKddlYi
-yIMv2I/VMjTLpW7pt05SWIZR0RPyxpB4SIUM9lBPGBl0GC7oSEEwRYLe4pJpZY2P0zbI1n+Oc44w
-qY3PUnmF0ixjVpDD/mJ9wpOBGTVgXlaCaZiPcIWK5NiKBIiPdGaQ0TWGvAiG7nMchdZb7Vgf8zNi
-MuMyzRdy/lePe9iC4TRx7WhhOQI/QiSVNAmAa2lT/piFbuh7ofJoYSZzrSZ1bvmWw3eN2nKUPVky
-uPN5/VRfohRd0VYZoqhKIlU6TXYhJxmPUIloAwc1bPmHEpaZYZORHNlXUJM07hATwHR8MJYqkwWR
-WaIezFhxSFlc8/Fq82hEnpeRozg3ULhhr9lAGtVEkCg5ZNRuuVleBPaZadhG0ZgkyPmDOTOKzViM
-YgOcpukKqQcbjAWS0IleQ2ROjdh6A+md1qWdBRSX7iSYgFRTtRmBpJioieXJiHfJiMGIR9fJOn8I
-MSfXYhspn4ooSa2mSAj4n+8Bmg03fBJZoPOJgsVZRxu1oOMRPXYYjdqjihFaEoZpXBREanuJoRI6
-cibFinq4ngUKh/wQd/H5ofYCZ0HJXR62opZFaAT0iFIZo4DIiUojkjeqKiuoZirKo5Y1a7AWckGa
-BkuYoD5lpDK6eUs6CkDqpETwl1EqpfhJpVeKpVl6EgUAADs=
-
---BOUNDARY--
-
---OUTER--
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_14.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_14.txt
deleted file mode 100644
index 5d98d2f..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_14.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-Return-Path:
-Delivered-To: bbb@zzz.org
-Received: by mail.zzz.org (Postfix, from userid 889)
- id 27CEAD38CC; Fri, 4 May 2001 14:05:44 -0400 (EDT)
-MIME-Version: 1.0
-Content-Type: text; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-Message-ID: <15090.61304.110929.45684@aaa.zzz.org>
-From: bbb@ddd.com (John X. Doe)
-To: bbb@zzz.org
-Subject: This is a test message
-Date: Fri, 4 May 2001 14:05:44 -0400
-
-
-Hi,
-
-I'm sorry but I'm using a drainbread ISP, which although big and
-wealthy can't seem to generate standard compliant email. :(
-
-This message has a Content-Type: header with no subtype. I hope you
-can still read it.
-
--Me
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_15.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_15.txt
deleted file mode 100644
index 33b8487..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_15.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-Return-Path:
-Received: from fepD.post.tele.dk (195.41.46.149) by mail.groupcare.dk (LSMTP for Windows NT v1.1b) with SMTP id <0.0014F8A2@mail.groupcare.dk>; Mon, 30 Apr 2001 12:17:50 +0200
-User-Agent: Microsoft-Outlook-Express-Macintosh-Edition/5.02.2106
-Subject: XX
-From: xx@xx.dk
-To: XX
-Message-ID:
-Mime-version: 1.0
-Content-type: multipart/mixed;
- boundary="MS_Mac_OE_3071477847_720252_MIME_Part"
-
-> Denne meddelelse er i MIME-format. Da dit postl¾sningsprogram ikke forstŒr dette format, kan del af eller hele meddelelsen v¾re ul¾selig.
-
---MS_Mac_OE_3071477847_720252_MIME_Part
-Content-type: multipart/alternative;
- boundary="MS_Mac_OE_3071477847_720252_MIME_Part"
-
-
---MS_Mac_OE_3071477847_720252_MIME_Part
-Content-type: text/plain; charset="ISO-8859-1"
-Content-transfer-encoding: quoted-printable
-
-Some removed test.
-
---MS_Mac_OE_3071477847_720252_MIME_Part
-Content-type: text/html; charset="ISO-8859-1"
-Content-transfer-encoding: quoted-printable
-
-
-
-Some removed HTML
-
-
-Some removed text.
-
-
-
-
---MS_Mac_OE_3071477847_720252_MIME_Part--
-
-
---MS_Mac_OE_3071477847_720252_MIME_Part
-Content-type: image/gif; name="xx.gif";
- x-mac-creator="6F676C65";
- x-mac-type="47494666"
-Content-disposition: attachment
-Content-transfer-encoding: base64
-
-Some removed base64 encoded chars.
-
---MS_Mac_OE_3071477847_720252_MIME_Part--
-
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_16.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_16.txt
deleted file mode 100644
index 56167e9..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_16.txt
+++ /dev/null
@@ -1,123 +0,0 @@
-Return-Path: <>
-Delivered-To: scr-admin@socal-raves.org
-Received: from cougar.noc.ucla.edu (cougar.noc.ucla.edu [169.232.10.18])
- by babylon.socal-raves.org (Postfix) with ESMTP id CCC2C51B84
- for ; Sun, 23 Sep 2001 20:13:54 -0700 (PDT)
-Received: from sims-ms-daemon by cougar.noc.ucla.edu
- (Sun Internet Mail Server sims.3.5.2000.03.23.18.03.p10)
- id <0GK500B01D0B8Y@cougar.noc.ucla.edu> for scr-admin@socal-raves.org; Sun,
- 23 Sep 2001 20:14:35 -0700 (PDT)
-Received: from cougar.noc.ucla.edu
- (Sun Internet Mail Server sims.3.5.2000.03.23.18.03.p10)
- id <0GK500B01D0B8X@cougar.noc.ucla.edu>; Sun, 23 Sep 2001 20:14:35 -0700 (PDT)
-Date: Sun, 23 Sep 2001 20:14:35 -0700 (PDT)
-From: Internet Mail Delivery
-Subject: Delivery Notification: Delivery has failed
-To: scr-admin@socal-raves.org
-Message-id: <0GK500B04D0B8X@cougar.noc.ucla.edu>
-MIME-version: 1.0
-Sender: scr-owner@socal-raves.org
-Errors-To: scr-owner@socal-raves.org
-X-BeenThere: scr@socal-raves.org
-X-Mailman-Version: 2.1a3
-Precedence: bulk
-List-Help:
-List-Post:
-List-Subscribe: ,
-
-List-Id: SoCal-Raves
-List-Unsubscribe: ,
-
-List-Archive:
-Content-Type: multipart/report; boundary="Boundary_(ID_PGS2F2a+z+/jL7hupKgRhA)"
-
-
---Boundary_(ID_PGS2F2a+z+/jL7hupKgRhA)
-Content-type: text/plain; charset=ISO-8859-1
-
-This report relates to a message you sent with the following header fields:
-
- Message-id: <002001c144a6$8752e060$56104586@oxy.edu>
- Date: Sun, 23 Sep 2001 20:10:55 -0700
- From: "Ian T. Henry"
- To: SoCal Raves
- Subject: [scr] yeah for Ians!!
-
-Your message cannot be delivered to the following recipients:
-
- Recipient address: jangel1@cougar.noc.ucla.edu
- Reason: recipient reached disk quota
-
-
---Boundary_(ID_PGS2F2a+z+/jL7hupKgRhA)
-Content-type: message/DELIVERY-STATUS
-
-Original-envelope-id: 0GK500B4HD0888@cougar.noc.ucla.edu
-Reporting-MTA: dns; cougar.noc.ucla.edu
-
-Action: failed
-Status: 5.0.0 (recipient reached disk quota)
-Original-recipient: rfc822;jangel1@cougar.noc.ucla.edu
-Final-recipient: rfc822;jangel1@cougar.noc.ucla.edu
-
---Boundary_(ID_PGS2F2a+z+/jL7hupKgRhA)
-Content-type: MESSAGE/RFC822
-
-Return-path: scr-admin@socal-raves.org
-Received: from sims-ms-daemon by cougar.noc.ucla.edu
- (Sun Internet Mail Server sims.3.5.2000.03.23.18.03.p10)
- id <0GK500B01D0B8X@cougar.noc.ucla.edu>; Sun, 23 Sep 2001 20:14:35 -0700 (PDT)
-Received: from panther.noc.ucla.edu by cougar.noc.ucla.edu
- (Sun Internet Mail Server sims.3.5.2000.03.23.18.03.p10)
- with ESMTP id <0GK500B4GD0888@cougar.noc.ucla.edu> for jangel1@sims-ms-daemon;
- Sun, 23 Sep 2001 20:14:33 -0700 (PDT)
-Received: from babylon.socal-raves.org
- (ip-209-85-222-117.dreamhost.com [209.85.222.117])
- by panther.noc.ucla.edu (8.9.1a/8.9.1) with ESMTP id UAA09793 for
- ; Sun, 23 Sep 2001 20:14:32 -0700 (PDT)
-Received: from babylon (localhost [127.0.0.1]) by babylon.socal-raves.org
- (Postfix) with ESMTP id D3B2951B70; Sun, 23 Sep 2001 20:13:47 -0700 (PDT)
-Received: by babylon.socal-raves.org (Postfix, from userid 60001)
- id A611F51B82; Sun, 23 Sep 2001 20:13:46 -0700 (PDT)
-Received: from tiger.cc.oxy.edu (tiger.cc.oxy.edu [134.69.3.112])
- by babylon.socal-raves.org (Postfix) with ESMTP id ADA7351B70 for
- ; Sun, 23 Sep 2001 20:13:44 -0700 (PDT)
-Received: from ent (n16h86.dhcp.oxy.edu [134.69.16.86])
- by tiger.cc.oxy.edu (8.8.8/8.8.8) with SMTP id UAA08100 for
- ; Sun, 23 Sep 2001 20:14:24 -0700 (PDT)
-Date: Sun, 23 Sep 2001 20:10:55 -0700
-From: "Ian T. Henry"
-Subject: [scr] yeah for Ians!!
-Sender: scr-admin@socal-raves.org
-To: SoCal Raves
-Errors-to: scr-admin@socal-raves.org
-Message-id: <002001c144a6$8752e060$56104586@oxy.edu>
-MIME-version: 1.0
-X-Mailer: Microsoft Outlook Express 5.50.4522.1200
-Content-type: text/plain; charset=us-ascii
-Precedence: bulk
-Delivered-to: scr-post@babylon.socal-raves.org
-Delivered-to: scr@socal-raves.org
-X-Converted-To-Plain-Text: from multipart/alternative by demime 0.98e
-X-Converted-To-Plain-Text: Alternative section used was text/plain
-X-BeenThere: scr@socal-raves.org
-X-Mailman-Version: 2.1a3
-List-Help:
-List-Post:
-List-Subscribe: ,
-
-List-Id: SoCal-Raves
-List-Unsubscribe: ,
-
-List-Archive:
-
-I always love to find more Ian's that are over 3 years old!!
-
-Ian
-_______________________________________________
-For event info, list questions, or to unsubscribe, see http://www.socal-raves.org/
-
-
-
---Boundary_(ID_PGS2F2a+z+/jL7hupKgRhA)--
-
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_17.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_17.txt
deleted file mode 100644
index 8d86e41..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_17.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-MIME-Version: 1.0
-From: Barry
-To: Dingus Lovers
-Subject: Here is your dingus fish
-Date: Fri, 20 Apr 2001 19:35:02 -0400
-Content-Type: multipart/mixed; boundary="BOUNDARY"
-
-Hi there,
-
-This is the dingus fish.
-
-[Non-text (image/gif) part of message omitted, filename dingusfish.gif]
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_18.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_18.txt
deleted file mode 100644
index f9f4904..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_18.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Foobar-Spoink-Defrobnit: wasnipoop; giraffes="very-long-necked-animals";
- spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"
-
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_19.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_19.txt
deleted file mode 100644
index 49bf7fc..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_19.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-Send Ppp mailing list submissions to
- ppp@zzz.org
-
-To subscribe or unsubscribe via the World Wide Web, visit
- http://www.zzz.org/mailman/listinfo/ppp
-or, via email, send a message with subject or body 'help' to
- ppp-request@zzz.org
-
-You can reach the person managing the list at
- ppp-admin@zzz.org
-
-When replying, please edit your Subject line so it is more specific
-than "Re: Contents of Ppp digest..."
-
-Today's Topics:
-
- 1. testing #1 (Barry A. Warsaw)
- 2. testing #2 (Barry A. Warsaw)
- 3. testing #3 (Barry A. Warsaw)
- 4. testing #4 (Barry A. Warsaw)
- 5. testing #5 (Barry A. Warsaw)
-
-hello
-
-
-hello
-
-
-hello
-
-
-hello
-
-
-hello
-
-
-
-_______________________________________________
-Ppp mailing list
-Ppp@zzz.org
-http://www.zzz.org/mailman/listinfo/ppp
-
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_20.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_20.txt
deleted file mode 100644
index 1a6a887..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_20.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-Return-Path:
-Delivered-To: bbb@zzz.org
-Received: by mail.zzz.org (Postfix, from userid 889)
- id 27CEAD38CC; Fri, 4 May 2001 14:05:44 -0400 (EDT)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-Message-ID: <15090.61304.110929.45684@aaa.zzz.org>
-From: bbb@ddd.com (John X. Doe)
-To: bbb@zzz.org
-Cc: ccc@zzz.org
-CC: ddd@zzz.org
-cc: eee@zzz.org
-Subject: This is a test message
-Date: Fri, 4 May 2001 14:05:44 -0400
-
-
-Hi,
-
-Do you like this message?
-
--Me
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_21.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_21.txt
deleted file mode 100644
index 23590b2..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_21.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-From: aperson@dom.ain
-To: bperson@dom.ain
-Subject: Test
-Content-Type: multipart/mixed; boundary="BOUNDARY"
-
-MIME message
---BOUNDARY
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-
-One
---BOUNDARY
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-
-Two
---BOUNDARY--
-End of MIME message
diff --git a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_22.txt b/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_22.txt
deleted file mode 100644
index af9de5f..0000000
--- a/FeedTheMonkey.app/Contents/Resources/lib/python2.7/email/test/data/msg_22.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-Mime-Version: 1.0
-Message-Id:
-Date: Tue, 16 Oct 2001 13:59:25 +0300
-To: a@example.com
-From: b@example.com
-Content-Type: multipart/mixed; boundary="============_-1208892523==_============"
-
---============_-1208892523==_============
-Content-Type: text/plain; charset="us-ascii" ; format="flowed"
-
-Text text text.
---============_-1208892523==_============
-Content-Id:
-Content-Type: image/jpeg; name="wibble.JPG"
- ; x-mac-type="4A504547"
- ; x-mac-creator="474B4F4E"
-Content-Disposition: attachment; filename="wibble.JPG"
-Content-Transfer-Encoding: base64
-
-/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
-AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAALCAXABIEBAREA
-g6bCjjw/pIZSjO6FWFpldjySOmCNrO7DBZibUXhTwtCixw+GtAijVdqxxaPp0aKvmGXa
-qrbBQvms0mAMeYS/3iTV1dG0hHaRNK01XblnWxtVdjkHLMIgTyqnk9VB7CrP2KzIINpa
-4O7I+zxYO9WV8jZg71Zlb+8rMDkEirAVQFAUAKAFAAAUAYAUDgADgY6DjpRtXj5RxjHA
-4wQRj0wQCMdCAewpaKKK/9k=
---============_-1208892523==_============
-Content-Id: