Commit 5d6e0afa authored by Christian's avatar Christian
Browse files

Adding test pinch-zoom functionality for range plots

parent 62e36b41
Loading
Loading
Loading
Loading
+63 −29
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.togglebutton import ToggleButton
from kivy.uix.gridlayout import GridLayout
from kivy.uix.image import AsyncImage
from kivy.uix.image import Image
from kivy.uix.slider import Slider
from kivy.clock import Clock
from kivy.uix.pagelayout import PageLayout
@@ -19,12 +19,14 @@ from kivy.properties import StringProperty, NumericProperty, ListProperty
from kivy.graphics.instructions import Callback
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition, SlideTransition
from kivy.uix.scrollview import ScrollView
from kivy.uix.scatter import Scatter

#import RPi.GPIO as GPIO
from kivy.lang.builder import Builder

from souptest import statusdetect
import requests
from bs4 import BeautifulSoup,SoupStrainer
from bs4 import BeautifulSoup
from tables import * 
import datetime
import os
@@ -92,10 +94,10 @@ class HistoryScreen(Screen):
        layout.add_widget(hisScroll)
        button2 =MainButton(text='Main Menu',id='main')
        hisScroll.add_widget(button2)
        
        t2 = threading.Thread(target=historyUpdate,args=(HistoryScreen,),daemon=True)
        t2.start()
    
#        
#        t2 = threading.Thread(target=historyUpdate,args=(HistoryScreen,),daemon=True)
#        t2.start()
#    
    
class DetGrid(GridLayout):
    def __init__(self,**kwargs):
@@ -112,6 +114,7 @@ class NestedBox(BoxLayout):
	pass

def historyUpdate(obj):
    if os.path.basename(os.getcwd()) != "event_data":
        try:
            os.chdir("./event_data")
        except:
@@ -157,8 +160,43 @@ def statusupdate(obj):
                i+=1
            j+=1
    
        time.sleep(30)
        time.sleep(30)#

def plotupdate(obj):
    while True:
        if os.path.basename(os.getcwd()) != 'event_data':
            try:
                os.chdir("./event_data")
            except:
                os.mkdir("./event_data")
                os.chdir("./event_data")
        #formulate the url to get today's
        date = datetime.datetime.today()
        sort_date = [str(date.year),str(date.month).zfill(2),str(date.day).zfill(2)]
        datestring = sort_date[0]+sort_date[1]+sort_date[2]
        url = "https://www.gw-openscience.org/detector_status/day/"+datestring+"/"
        
        #grab the soup and pzrse for links + descripts
        resp=requests.get(url)
        r = resp.text
        soup=BeautifulSoup(r,"lxml")
        
        sources=[]
        descripts=[]
        for link in soup.find_all("a"):
            linkstr = str(link.get("href"))
            if 'png' in linkstr:
                sources.append('https://www.gw-openscience.org'+linkstr)
                descripts.append(str(link.get("title")))
        filepaths =[]
        for i in range(0,len(sources)):
            filepaths.append('Detector_Plot_'+str(i)+'.png')
        j=0
        for source in sources:
            os.system("curl -0 "+ source + ' > ' + filepaths[j])
            j+=1
            
        time.sleep(3600)
class StatusScreen(Screen):
    def __init__(self,**kwargs):
        super().__init__(**kwargs)
@@ -193,30 +231,26 @@ class PlotsScreen(Screen):
    def __init__(self,**kwargs):
        super().__init__(**kwargs)
        layout=GridLayout(rows=2)
        layout2=GridLayout(rows=2)
        
        self.add_widget(layout)
        layout.add_widget(layout2)
        
        date = datetime.datetime.today()
        sort_date = [str(date.year),str(date.month).zfill(2),str(date.day).zfill(2)]
        datestring = sort_date[0]+sort_date[1]+sort_date[2]
        url = "https://www.gw-openscience.org/detector_status/day/"+datestring+"/"
        plot_handle = Scatter(do_rotation=False,do_translation=False,scale_min=3,scale_max=10)
        current_plot = Image(size=(800,600),source='./event_data/Detector_Plot_0.png')
        current_desc = Label(text='Nothing yet...')
        
        resp=requests.get(url)
        r = resp.text
        soup=BeautifulSoup(r,"lxml")
        layout2.add_widget(plot_handle)
        plot_handle.add_widget(current_plot)
        layout2.add_widget(current_desc)
        
        t3 = threading.Thread(target=plotupdate,args=(layout,),daemon=True)
        t3.start()
        
        sources=[]
        descripts=[]
        
        for link in soup.find_all("a"):
            linkstr = str(link.get("href"))
            if 'png' in linkstr:
                sources.append(linkstr)
                descripts.append(str(link.get("title")))
        
        wimg=AsyncImage(source=sources[0])
        button4 = MainButton(text='Main Menu',id='main')
        button4 = MainButton(text='Main Menu',id='main',size_hint_y=None,height=25)
        layout.add_widget(button4)
        layout.add_widget(wimg)

sm = ScreenManager()
sm.add_widget(MainScreen(name='main'))
+137 KiB

File added.

No diff preview for this file type.

+137 KiB
Loading image diff...
+27.1 KiB

File added.

No diff preview for this file type.

+27.4 KiB
Loading image diff...
Loading