Skip to content
This repository was archived by the owner on Dec 27, 2022. It is now read-only.

Commit 881d3a7

Browse files
author
Adam Richie-Halford
committed
Create single subject pipeline
1 parent c5ac519 commit 881d3a7

File tree

4 files changed

+684
-146
lines changed

4 files changed

+684
-146
lines changed

preafq/__init__.py

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,51 @@
66
__email__ = '[email protected]'
77
__version__ = '0.1.0'
88

9+
import errno
10+
import logging
11+
import os
912

10-
from .preafq import download_prereqs, upload_to_s3 # noqa
11-
from . import fetch_hbn # noqa
13+
from .preafq import upload_to_s3 # noqa
14+
from . import fetch_bids_s3 # noqa
15+
16+
17+
module_logger = logging.getLogger(__name__)
18+
19+
# get the log level from environment variable
20+
if "AFQ_LOGLEVEL" in os.environ:
21+
loglevel = os.environ['AFQ_LOGLEVEL']
22+
module_logger.setLevel(getattr(logging, loglevel.upper()))
23+
else:
24+
module_logger.setLevel(logging.WARNING)
25+
26+
# create a file handler
27+
logpath = os.path.join(os.path.expanduser('~'), '.afq', 'afq.log')
28+
29+
# Create the config directory if it doesn't exist
30+
logdir = os.path.dirname(logpath)
31+
try:
32+
os.makedirs(logdir)
33+
except OSError as e:
34+
pre_existing = (e.errno == errno.EEXIST and os.path.isdir(logdir))
35+
if pre_existing:
36+
pass
37+
else:
38+
raise e
39+
40+
handler = logging.FileHandler(logpath, mode='w')
41+
handler.setLevel(logging.DEBUG)
42+
43+
# create a logging format
44+
formatter = logging.Formatter(
45+
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
46+
)
47+
handler.setFormatter(formatter)
48+
49+
# add the handlers to the logger
50+
module_logger.addHandler(handler)
51+
module_logger.info('Started new preAFQ session')
52+
53+
# Reduce verbosity of the boto logs
54+
logging.getLogger('boto').setLevel(logging.WARNING)
55+
logging.getLogger('boto3').setLevel(logging.WARNING)
56+
logging.getLogger('botocore').setLevel(logging.WARNING)

preafq/base.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@
55
from collections import namedtuple
66

77
# Define the different namedtuple return types
8-
InputS3Keys = namedtuple(
9-
'InputS3Keys',
10-
['subject', 'site', 'valid', 's3_keys']
8+
InputFiles = namedtuple(
9+
'InputFiles',
10+
['subject', 'site', 'valid', 'files', 'file_type']
1111
)
1212

13-
# Input files namedtuple
14-
InputFiles = namedtuple('InputFiles', ['subject', 'site', 'files'])
13+
# Input files (one type with session info and one without)
14+
InputFilesWithSession = namedtuple(
15+
'InputFilesWithSession',
16+
['subject', 'site', 'session', 'files', 'file_type']
17+
)

0 commit comments

Comments
 (0)