def diff_process(self):
        """
        at first you can have some users
        next - init_diff_machine - prepare users for difference analysing
        next start this method and get differences from db.diff_output (or at differences_users_output)
        """
        diff_users = self.out.get_users_for_diff()
        log.info('will load differences ')
        if not len(diff_users):
            log.info("no more users for differences")
        for i in range(len(diff_users)):
            try:
                user = diff_users[i]
                log.info('processing diffs for: %s' % user.name_)
                t_user = self._get_user_by_name(user.name_)
                m_user_now = self.get_user_info(t_user)
                if not m_user_now: log.warn('user now for diff is not load it is very bad.'); continue
                diff_factory = difference_factory()
                diff = diff_factory.create_difference(user_before=user, user_now=m_user_now)
                self.out.save_diffs(diff.serialise())

            except Exception as e:
                log.warn('some exception in e: %s' % e)
                log.exception(e)
                if 'Rate limit exceeded' in str(e):
                    log.info('ok, will be sleep...')
                    time.sleep(3600)
from differences import diff_machine
from model.db import db_handler

__author__ = 'Alesha'
#todo create test for difference

difference_factory = diff_machine.difference_factory()

db = db_handler()
linoleum = db.get_user_by_name('@linoleum2k12')
print linoleum
chikist = db.get_user_by_name('@4ikist_')
print chikist