The format doesn't seem variable to me. I assumed you forgot to include the period.
period
Snippet:
'''.format(' OR '.join(["LOWER(appname) LIKE '%{}%'".format(app) for app in app_selection_code]), period) #<-- Add period.
'''.format(' OR '.join(["LOWER(appname) LIKE '%{}%'".format(app) for app in app_selection_code]), period)