<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def get_args(path):
    '''
    Parse command line args & override defaults.

    Arguments:
        - path (str) Absolute filepath

    Returns:
        - (tuple) Name, email, license, project, ext, year
    '''

    defaults = get_defaults(path)
    licenses = ', '.join(os.listdir(cwd + licenses_loc))
    p = parser(description='tool for adding open source licenses to your projects. available licenses: %s' % licenses)

    _name = False if defaults.get('name') else True
    _email = False if defaults.get('email') else True
    _license = False if defaults.get('license') else True

    p.add_argument('-n', dest='name', required=_name, help='name')
    p.add_argument('-e', dest='email', required=_email, help='email')
    p.add_argument('-l', dest='license', required=_license, help='license')
    p.add_argument('-p', dest='project', required=False, help='project')
    p.add_argument('-v', '--version', action='version', version='%(prog)s {version}'.format(version=version))
    p.add_argument('--txt', action='store_true', required=False, help='add .txt to filename')

    args = p.parse_args()

    name = args.name if args.name else defaults.get('name')
    email = args.email if args.email else defaults.get('email')
    license = get_license(args.license) if args.license else defaults.get('license')
    project = args.project if args.project else os.getcwd().split('/')[-1]
    ext = '.txt' if args.txt else ''
    year = str(date.today().year)

    return (name, email, license, project, ext, year)