Exemplo n.º 1
0
def main():
    args = parse_arguments()

    try:
        config = import_config(args.config_file)
    except IOError:
        print "Unable to locate ~/.python-gitlab.cfg"
        sys.exit(1)

    gitlab_key = config.get(section='local', option='private_token')
    gitlab_url = config.get(section='local', option='url')

    try:
        gl = connect_to_gitlab(gitlab_key, gitlab_url)
    except GitlabAuthenticationError:
        print "AuthenticationError when connecting to Gitlab Server"
        sys.exit(1)
    except GitlabConnectionError:
        print "Unable to connect to Gitlab server"
        sys.exit(1)
    except GitlabError:
        print "Oops, unknown Gitlab error"
        sys.exit(1)

    groups = Fennec.groups(gl)
    members = Fennec.find_members(groups)
    namespace_projects = Fennec.find_namespace_projects(gl, groups)
    forked_projects = Fennec.find_forked_namespace_projects(gl)
    fennecmessage = FennecMail(groups=groups, members=members, projects=namespace_projects,
                               forked_projects=forked_projects)

    msg = fennecmessage.render_message()

    send_mail(msg, mx=args.mx, email_dest=args.email_dest, email_source=args.email_source, reply_to=args.email_dest)
Exemplo n.º 2
0
    def test_render_message(self):
        # TODO make this test not suck
        # arrange
        message = FennecMail(groups=self.groups, members=self.member_dict, projects=self.project_dict,
                             forked_projects=self.forked_dict)
        # act
        rendered_messsage = message.render_message()

        # assert
        self.assertEqual(isinstance(rendered_messsage, unicode), True, "Expected {}, but got {}".format("unicode", type(rendered_messsage)))