DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

RaspberryPiと炊飯器で低温調理器を自作してみた③ 「ファイル統括モジュール」

前回、各種ファイルの説明をしました。

今回はプログラムの中身です。

 

f:id:DreamerDream:20190918163549p:plain

 

<file_mng.py>

これは全てのプログラムから共用するファイルデータを扱います。

(※get、loadが混在している等、突っ込みは無しでお願いします)

 

# -*- coding: utf-8 -*-

import os

dir_shm = '/dev/shm/'

#現在温度
file_temp = dir_shm + 'temp'

#画面表示用タイム

file_time = dir_shm + 'time'

#画面表示_row=行
file_row_0 = dir_shm + 'row_0'
file_row_1 = dir_shm + 'row_1'
file_row_2 = dir_shm + 'row_2'
file_row_3 = dir_shm + 'row_3'
file_row_4 = dir_shm + 'row_4'

#スタートファイル

file_start = dir_shm + 'start'

 

dir_etc = '/usr/local/etc/'

#温度設定ファイル
file_set_temp = dir_etc + 'temp'

#時間設定ファイル
file_set_time = dir_etc + 'time'

 

#ログファイル

dir_log = '/home/machinelog/'

 

def save( filename, text ):
  f = open( filename,'w')
  f.write(text)
  f.close()

 

def load( filename ):
  s = ''
  try:
    f = open( filename, 'r' )
    s = f.read()
    f.close()
    s = s.strip()
  except:
    pass
  return s

 

def remove( filename ):
  os.remove( filename )

 

def is_file( filename ):
  return os.path.isfile( filename )

 

def log( filename, now_temp, power_on ):
  text = str(now_temp) + ',' + str(power_on) + '\n'
  f = open( dir_log + filename, 'a' )
  f.write( text )
  f.close()

 

#温度設定読み出し

def get_temp_set():
  tm = load( file_set_temp )
  if tm == '':
    return '60' #default 60d
  return tm 

#温度設定保存

def save_temp_set( tm ):
  save( file_set_temp, tm )

 

#時間設定読み出し

def get_time_set():
  tm = load( file_set_time )
  if tm == '':
    return '60' # default 60 min
  return tm

#時間設定保存

def save_time_set( tm ):
  save( file_set_time, tm )
 

#スタートファイルの有無

def is_start():
  return is_file( file_start )

#スタートファイル生成

def start( tim ):
  save( file_start, tim )

#ストップ(スタートファイル削除)

def stop():
  remove( file_start )

#スタート時間読み出し

def load_start_time():
  return load( file_start )

 

#現在温度読み出し

def load_temp():
  return load( file_temp )

#現在温度保存
def save_temp( text ):
  save( file_temp , text )

#表示時間読み出し
def load_time():
  return load( file_time )

#表示時間保存
def save_time( text ):
  save( file_time , text )

 

#以下、画面行ごとの表示と保存

def load_row_0():
  return load( file_row_0 )
def save_row_0( text ):
  save( file_row_0 , text)

def load_row_1():
  return load( file_row_1 )
def save_row_1( text ):
  save( file_row_1 , text)

def load_row_2():
  return load( file_row_2 )
def save_row_2( text ):
  save( file_row_2 , text)

def load_row_3():
   return load( file_row_3 )
def save_row_3( text ):
  save( file_row_3 , text)

def load_row_4():

  return load( file_row_4 )
def save_row_4( text ):
  save( file_row_4 , text)

 

 

<全プログラム内部構造一覧>

dreamerdream.hateblo.jp

 

https://cdn.profile-image.st-hatena.com/users/DreamerDream/profile.png私、(PONさん (@o_n_pon) | Twitter)を応援してくださるお優しいかたは15円から投げ銭可能ですので↓よりカンパをお願いしますm(_ _)m

kampa.me