cabal-version: 3.0 name: mailbox-count version: 0.0.6 author: Michael Orlitzky maintainer: Michael Orlitzky license: AGPL-3.0-only license-file: doc/LICENSE bug-reports: mailto:michael@orlitzky.com category: Mail, Utils build-type: Simple extra-source-files: doc/mailbox-countrc.example doc/man1/mailbox-count.1 test/fixtures/postfixadmin.sqlite3 synopsis: Count mailboxes in a SQL database. description: /Usage/: @ mailbox-count [OPTIONS] @ Mailbox-count produces a simple count of mailboxes that exist per-domain in some SQL database. The default queries are compatible with the schema used by PostfixAdmin , but it is possible to supply your own queries via the @--summary-query@ and @--detail-query@ options. The summary report lists each domain, along with the number of mailboxes owned by that domain. The order is determined by the summary query, which lists the domains alphabetically by default. The default detail report shows the same, but also contains a list of each individual mailbox (again in alphabetical order) belonging to the domains. /Input/: None. /Output/: Either a summary, or detailed report (with @--detail@) of the number of mailboxes per-domain contained in the database. /Options/: * \--database The name of the database (or file, if SQLite) to which we should connect. Default: The name of the current user (Postgres only). * \--detail Produce a detailed report listing all mailboxes by domain. * \--detail-query SQL query used to produce the detail report. This should return the set of all (domain, username) pairs. See the default value for an example. Default: \"SELECT domain,username FROM mailbox ORDER BY domain;\" * \--host Hostname where the database is located (Postgres-only). Default: None, a UNIX domain socket connection is attempted (Postgres only) * \--password Password used to connect to the database (Postgres-only). Default: None (assumes passwordless authentication) * \--port Port number used to connect to the database (Postgres-only). Default: None, a UNIX domain socket connection is attempted (Postgres only) * \--summary-query SQL query used to produce the summary report. This should return (domain, user count) pairs. See the default value for an example. Default: \"SELECT domain,COUNT(username) FROM mailbox GROUP BY domain ORDER BY domain;\" * \--username Username used to connect to the database (Postgres-only). Default: The current user /Examples/: The default summary report: @ $ mailbox-count --database=postfixadmin.sqlite3 Summary (number of mailboxes per domain) \---------------------------------------- example.com: 3 example.invalid: 1 example.net: 2 example.org: 1 @ The more detailed report: @ $ mailbox-count --detail --database=postfixadmin.sqlite3 Detail (list of all mailboxes by domain) \---------------------------------------- example.com (3): user1 user3 user5 example.invalid (1): user7 example.net (2): user2 user4 example.org (1): user6 @ executable mailbox-count build-depends: base >= 4.15 && < 5, cmdargs >= 0.10, configurator >= 0.2, containers >= 0.5, directory >= 1.2, filepath >= 1.3, HDBC >= 2.4, HDBC-postgresql >= 2.3, HDBC-sqlite3 >= 2.3, MissingH >= 1.2, tasty >= 0.8, tasty-hunit >= 0.8 default-language: Haskell2010 main-is: Main.hs hs-source-dirs: src/ other-modules: Configuration CommandLine OptionalConfiguration Paths_mailbox_count Report autogen-modules: Paths_mailbox_count test-suite testsuite type: exitcode-stdio-1.0 hs-source-dirs: src test default-language: Haskell2010 main-is: TestSuite.hs other-modules: Configuration OptionalConfiguration Paths_mailbox_count Report autogen-modules: Paths_mailbox_count build-depends: base >= 4.15 && < 5, cmdargs >= 0.10, configurator >= 0.2, containers >= 0.5, directory >= 1.2, filepath >= 1.3, HDBC >= 2.4, HDBC-sqlite3 >= 2.3, MissingH >= 1.2, tasty >= 0.8, tasty-hunit >= 0.8 test-suite doctests type: exitcode-stdio-1.0 hs-source-dirs: test default-language: Haskell2010 main-is: Doctests.hs build-depends: base >= 4.15 && < 5, -- Additional test dependencies. doctest >= 0.9, filemanip >= 0.3.6 source-repository head type: git location: http://gitweb.michael.orlitzky.com/mailbox-count.git branch: master