LobbyVideo/DateVersioner.py (33 lines of code) (raw):
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Copyright (c) Facebook, Inc. and its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from __future__ import absolute_import
import datetime
import time
from autopkglib import Processor
__all__ = ["DateVersioner"]
class DateVersioner(Processor):
description = "Places current date and time into %version%."
input_variables = {
"notime": {
"required": False,
"description": (
"True/false. If true, ",
"only the current date is provided. Defaults to false.",
),
}
}
output_variables = {"version": {"description": "Current date and time as version."}}
__doc__ = description
def main(self):
try:
notime = self.env["notime"]
except KeyError:
notime = False
self.output("notime is %s" % notime)
self.env["version"] = (
str(datetime.date.today()) + "_" + str(time.strftime("%H-%M-%S"))
)
if notime:
self.env["version"] = str(datetime.date.today())
self.output("Version is set to %s" % self.env["version"])
if __name__ == "__main__":
processor = DateVersioner()
processor.execute_shell()