-- -- Options -- options.timeout = 120 options.subscribe = true filter_local = IMAPFILTER_LOCAL -- Accounts if filter_local then folder_sep = '.' GMAIL = IMAP { server = 'localhost', username = 'ryan', password = 'LOCAL_PASS', } else folder_sep = '/' GMAIL = IMAP { server = 'imap.gmail.com', port = 993, username = 'ryanakca@gmail.com', password = 'GMAIL_PASS', ssl = 'auto' } end -- -- Filters -- For -- GMAIL -- -- Debian stuff debiandevelann = GMAIL.INBOX:contain_field('List-ID', 'debian-devel-announce.lists.debian.org') * GMAIL.INBOX:is_seen() GMAIL.INBOX:move_messages(GMAIL['Debian' .. folder_sep .. 'debian-devel-announce'], debiandevelann) listsdebianorg = { 'debian-backports' , 'debian-bsd' , 'debian-dak' , 'debian-devel' , 'debian-devel-french' , 'debian-haskell' , 'debian-java' , 'debian-mentors' , 'debian-newmaint' , 'debian-news' , 'debian-private' , 'debian-project' , 'debian-python' , 'debian-qa' , 'debian-qt-kde' } for list = 1, #listsdebianorg do listfilter = GMAIL.INBOX:contain_field('List-ID', listsdebianorg[list] .. '.lists.debian.org') GMAIL.INBOX:move_messages(GMAIL['Debian' .. folder_sep .. listsdebianorg[list]], listfilter) end tracker = { 'rumor' , 'freetuxtv' , 'slingshot' , 'turses' , 'frescobaldi' , 'bzflag' , 'xmonad' , 'cmus' } for list = 1, #tracker do listfilter = GMAIL.INBOX:contain_field('List-ID', tracker[list] .. '.tracker.debian.org') * GMAIL.INBOX:is_seen() GMAIL.INBOX:move_messages(GMAIL['Debian' .. folder_sep .. tracker[list]], listfilter) end alioth = { 'pkg-kde-commits' , 'pkg-kde-extras' , 'pkg-kde-talk' , 'pkg-multimedia-commits' , 'pkg-multimedia-maintainers' , 'python-apps-team' } for list = 1, #alioth do listfilter = GMAIL.INBOX:contain_field('List-ID', alioth[list] .. '.lists.alioth.debian.org') GMAIL.INBOX:move_messages(GMAIL['Debian' .. folder_sep .. alioth[list]], listfilter) end salsa = { 'cmus' } for proj = 1, #salsa do listfilter = GMAIL.INBOX:contain_field('X-Gitlab-Project', salsa[proj]) GMAIL.INBOX:move_messages(GMAIL['Debian' .. folder_sep .. salsa[proj]], listfilter) end dbugs = GMAIL.INBOX:match_from('.*@bugs.debian.org') * GMAIL.INBOX:is_seen() GMAIL.INBOX:move_messages(GMAIL['Debian' .. folder_sep .. 'dBugs'], dbugs) -- Ubuntu stuff ubuntu = { 'kubuntu-devel' , 'ubuntu-ca' , 'ubuntu-classroom' , 'ubuntu-devel-announce' , 'ubuntu-doc' , 'ubuntu-installer' , 'ubuntu-irc' --, 'kubuntu-bugs' } canonical = { 'ubuntu-website' } for list = 1, #ubuntu do listfilter = GMAIL.INBOX:contain_field('List-ID', ubuntu[list] .. '.lists.ubuntu.com') GMAIL.INBOX:move_messages(GMAIL['Ubuntu' .. folder_sep .. ubuntu[list]], listfilter) end for list = 1, #canonical do listfilter = GMAIL.INBOX:contain_field('List-ID', canonical[list] .. '.lists.canonical.com') GMAIL.INBOX:move_messages(GMAIL['Ubuntu' .. folder_sep .. canonical[list]], listfilter) end launchpadUsers = GMAIL.INBOX:contain_field('List-ID', 'launchpad-users.lists.launchpad.net') + GMAIL.INBOX:contain_field('List-ID', 'launchpad-users.lists.canonical.com') + GMAIL.INBOX:match_to('launchpad-users@lists.launchpad.net') + GMAIL.INBOX:match_cc('launchpad-users@lists.launchpad.net') GMAIL.INBOX:move_messages(GMAIL['Ubuntu' .. folder_sep .. 'launchpadUsers'], launchpadUsers) -- kubuntuBugs = GMAIL.INBOX:contain_header('X-Launchpad-Message-Rationale: .*@kubuntu-bugs') + -- GMAIL.INBOX:match_header('X-BeenThere: kubuntu-bugs@lists.ubuntu.com') -- GMAIL.INBOX:move_messages(GMAIL['Ubuntu' .. folder_sep .. 'kubuntu-bugs'], kubuntuBugs) ubuntu = GMAIL.INBOX:contain_field('List-ID', '.*.lists.ubuntu.com') GMAIL.INBOX:move_messages(GMAIL['Ubuntu'], ubuntu) ubuntuca = GMAIL.INBOX:contain_field('X-Launchpad-Message-For', 'ubuntu-ca') GMAIL.INBOX:move_messages(GMAIL['Ubuntu' .. folder_sep .. 'ubuntu-ca'], ubuntuca) uWebBugs = GMAIL.INBOX:match_header('X-Launchpad-Bug.*product=ubuntu-website.*') GMAIL.INBOX:move_messages(GMAIL['Ubuntu' .. folder_sep .. 'ubuntu-website-bugs'], uWebBugs) kuWebBugs = GMAIL.INBOX:match_header('X-Launchpad-Bug:.*product=kubuntu-website.*') GMAIL.INBOX:move_messages(GMAIL['Ubuntu' .. folder_sep .. 'kubuntu-website-bugs'], kuWebBugs) ubugs = GMAIL.INBOX:match_header('X-Launchpad-Bug:.*distribution=ubuntu;.*') + GMAIL.INBOX:contain_field('List-Id', 'ubuntu-bugcontrol.lists.launchpad.net') GMAIL.INBOX:move_messages(GMAIL['Ubuntu' .. folder_sep .. 'ubuntu-bugs'], ubugs) kubuntuninjas = GMAIL.INBOX:contain_field('X-Launchpad-PPA', 'kubuntu-ninjas') + GMAIL.INBOX:contain_field('X-Launchpad-PPA', 'kubuntu-ppa-staging') + GMAIL.INBOX:contain_field('X-Launchpad-Message-For', 'kubuntu-packagers') + GMAIL.INBOX:contain_field('List-ID', 'kubuntu-ppa.lists.launchpad.net') GMAIL.INBOX:move_messages(GMAIL['Ubuntu' .. folder_sep .. 'kubuntu-ninjas'], kubuntuninjas) --answers = GMAIL.INBOX:match_header('X-Launchpad-Question: distribution=ubuntu.*') --GMAIL.INBOX:mark_seen(answers) --GMAIL.INBOX:move_messages(GMAIL['Ubuntu' .. folder_sep .. 'uAnswers'], answers) --kubuntuWebmaster = GMAIL.INBOX:contain_to('webmaster@kubuntu.org') --GMAIL.INBOX:move_messages(GMAIL['Ubuntu' .. folder_sep .. 'kubuntu-webmaster'], kubuntuWebmaster) -- KDE Stuff kdefrancophone = GMAIL.INBOX:contain_field('List-ID', 'kde-francophone.kde.org') GMAIL.INBOX:move_messages(GMAIL['KDE' .. folder_sep .. 'kde-francophone'], kdefrancophone) -- OpenBSD Stuff openbsd = { 'announce' , 'misc' , 'mirrors-discuss' , 'tech' } for list = 1, #openbsd do listfilter = GMAIL.INBOX:contain_field('List-ID', openbsd[list] .. '.openbsd.org') GMAIL.INBOX:move_messages(GMAIL['OpenBSD' .. folder_sep .. openbsd[list]], listfilter) end sshud = GMAIL.INBOX:contain_field('List-ID', 'openssh-unix-dev.mindrot.org') GMAIL.INBOX:move_messages(GMAIL['OpenBSD' .. folder_sep .. 'ssh-unix-dev'], sshud) -- Other computer stuff -- slashdot = ( GMAIL.INBOX:is_seen() * GMAIL.INBOX:match_from('slashdot@newsletters.slashdot.org') ) GMAIL.INBOX:move_messages(GMAIL['Slashdot'], slashdot) -- lwn = ( GMAIL.INBOX:is_seen() + GMAIL.INBOX:is_older(7) ) * GMAIL.INBOX:match_from('lwn.*@lwn.net') GMAIL.INBOX:move_messages(GMAIL['lwn'], lwn) sbuild = GMAIL.INBOX:match_from('sbuild@.*.ryanak.ca') + GMAIL.INBOX:match_from('sbuild@lambda') GMAIL.INBOX:move_messages(GMAIL['sbuild'], sbuild) frescobaldi = ( GMAIL.INBOX:is_seen() + GMAIL.INBOX:is_older(2) ) * GMAIL.INBOX:contain_field('List-ID', 'frescobaldi.googlegroups.com') GMAIL.INBOX:move_messages(GMAIL['Debian' .. folder_sep .. 'frescobaldi'], frescobaldi) opensmtpd = ( GMAIL.INBOX:is_seen() + GMAIL.INBOX:is_older(2) ) * GMAIL.INBOX:contain_field('List-ID', 'misc.opensmtpd.org') GMAIL.INBOX:move_messages(GMAIL['Debian' .. folder_sep .. 'opensmtpd'], opensmtpd) mbrainz = ( GMAIL.INBOX:match_from('noreply@musicbrainz.org') * GMAIL.INBOX:match_subject('Edits for your subscriptions') * ( GMAIL.INBOX:is_older(1) + GMAIL.INBOX:is_seen() ) ) GMAIL.INBOX:move_messages(GMAIL['MusicBrainz'], mbrainz) -- O'ists PiA = GMAIL.INBOX:match_from('.*@philosophyinaction.com') * GMAIL.INBOX:is_seen() GMAIL.INBOX:move_messages(GMAIL['PiA'], PiA) epstein = ( GMAIL.INBOX:match_from('.*@industrialprogress.net') + GMAIL.INBOX:match_from('.*@alexepstein.com') ) * GMAIL.INBOX:is_seen() GMAIL.INBOX:move_messages(GMAIL['Epstein'], epstein) -- Queen's qsocial = GMAIL.INBOX:match_to('social@.*cs.queensu.ca') + GMAIL.INBOX:match_cc('social@.*cs.queensu.ca') GMAIL.INBOX:move_messages(GMAIL['Queens' .. folder_sep .. 'social'], qsocial) qsail = ( GMAIL.INBOX:match_to('sail.*@cs.queensu.ca') + GMAIL.INBOX:match_cc('sail.*@cs.queensu.ca') ) * GMAIL.INBOX:is_seen() + GMAIL.INBOX:match_to('sail4schedule@gmail.com') GMAIL.INBOX:move_messages(GMAIL['Queens' .. folder_sep .. 'SAIL'], qsail) -- McGill belcom = GMAIL.INBOX:contain_field('List-ID', 'beluga-commit.CS.McGill.CA') GMAIL.INBOX:move_messages(GMAIL['Internship' .. folder_sep .. 'beluga-commit'], belcom) beldev = GMAIL.INBOX:contain_field('List-ID', 'beluga-dev.CS.McGill.CA') GMAIL.INBOX:move_messages(GMAIL['Internship' .. folder_sep .. 'beluga-dev'], beldev) complogic = GMAIL.INBOX:contain_field('List-Id', 'complogic.CS.McGill.CA') * GMAIL.INBOX:is_older(1) GMAIL.INBOX:move_messages(GMAIL['Internship' .. folder_sep .. 'complogic'], complogic) -- MIT under GMAIL mitplv = ( GMAIL.INBOX:contain_field('List-Id', 'plv.csail.mit.edu') + GMAIL.INBOX:contain_field('List-Id', 'plv.lists.csail.mit.edu') + GMAIL.INBOX:contain_field('List-Id', 'bedrock-group.lists.csail.mit.edu') ) * ( GMAIL.INBOX:is_older(1) + GMAIL.INBOX:is_seen() ) GMAIL.INBOX:move_messages(GMAIL['GMAIL' .. folder_sep .. 'MIT'], mitplv) -- Academia typesann = GMAIL.INBOX:contain_field('List-Id', 'types-announce.lists.seas.upenn.edu') GMAIL.INBOX:move_messages(GMAIL['Academia' .. folder_sep .. 'types-announce'], typesann) typeslist = GMAIL.INBOX:contain_field('List-Id', 'types-list.lists.seas.upenn.edu') * GMAIL.INBOX:is_seen() GMAIL.INBOX:move_messages(GMAIL['Academia' .. folder_sep .. 'types-list'], typeslist) categories = GMAIL.INBOX:contain_field('List-Id', 'maths-categories-seminar.lists.cam.ac.uk') * ( GMAIL.INBOX:is_seen() + GMAIL.INBOX:is_older(1) ) GMAIL.INBOX:move_messages(GMAIL['Academia'], categories) fields = GMAIL.INBOX:match_from('.*@fields.utoronto.ca') * ( GMAIL.INBOX:is_old() + GMAIL.INBOX:is_seen() ) fields = GMAIL.INBOX:move_messages(GMAIL['Academia'], fields) -- People bagpipes = GMAIL.INBOX:match_from('PM_EMAIL') + GMAIL.INBOX:match_cc('PM_EMAIL') GMAIL.INBOX:move_messages(GMAIL['Bagpipes'], bagpipes) facebook = GMAIL.INBOX:match_from('.*@facebookmail.com') * ( GMAIL.INBOX:contain_subject('New messages from ') + GMAIL.INBOX:contain_subject('New message from ') + GMAIL.INBOX:contain_subject('sent a message') + GMAIL.INBOX:contain_subject('sent you a message') ) * ( GMAIL.INBOX:is_old() + GMAIL.INBOX:is_seen() ) GMAIL.INBOX:move_messages(GMAIL['Friends'], facebook) -- Misc vfr = GMAIL.INBOX:match_from('vfr-no-reply@aynrand.org') * GMAIL.INBOX:is_seen() GMAIL.INBOX:move_messages(GMAIL['VfR'], vfr) ari = GMAIL.INBOX:match_from('Impact@aynrand.org') * GMAIL.INBOX:is_seen() GMAIL.INBOX:move_messages(GMAIL['ARI'], ari) epic = GMAIL.INBOX:contain_field('List-Id', 'Every Pub In Cambridge ') GMAIL.INBOX:move_messages(GMAIL['Internship' .. folder_sep .. 'epic'], epic) banks = ( GMAIL.INBOX:match_from('pncalerts@pnc.com') + GMAIL.INBOX:match_from('discover@service.discover.com') ) * ( GMAIL.INBOX:is_seen() + GMAIL.INBOX:is_older(7) ) GMAIL.INBOX:move_messages(GMAIL['banks'], banks)