mirror of
				https://github.com/dgtlmoon/changedetection.io.git
				synced 2025-11-04 08:34:57 +00:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			restock-mo
			...
			disable-ap
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					0e9ba9d72a | 
							
								
								
									
										38
									
								
								.github/workflows/pypi.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								.github/workflows/pypi.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
name: PyPi Test and Push tagged release
 | 
			
		||||
 | 
			
		||||
# Triggers the workflow on push or pull request events
 | 
			
		||||
on:
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["ChangeDetection.io Test"]
 | 
			
		||||
    tags: '*.*'
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  test-build:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
      - name: Set up Python 3.9
 | 
			
		||||
        uses: actions/setup-python@v2
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: 3.9
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      - name: Test that pip builds without error
 | 
			
		||||
        run: |
 | 
			
		||||
          pip3 --version
 | 
			
		||||
          python3 -m pip install wheel
 | 
			
		||||
          python3 setup.py bdist_wheel
 | 
			
		||||
          python3 -m pip install dist/changedetection.io-*-none-any.whl --force
 | 
			
		||||
          changedetection.io -d /tmp -p 10000 &
 | 
			
		||||
          sleep 3
 | 
			
		||||
          curl http://127.0.0.1:10000/static/styles/pure-min.css >/dev/null
 | 
			
		||||
          killall -9 changedetection.io
 | 
			
		||||
 | 
			
		||||
      # https://github.com/docker/build-push-action/blob/master/docs/advanced/test-before-push.md ?
 | 
			
		||||
      # https://github.com/docker/buildx/issues/59 ? Needs to be one platform?
 | 
			
		||||
 | 
			
		||||
      # https://github.com/docker/buildx/issues/495#issuecomment-918925854
 | 
			
		||||
#if: ${{ github.event_name == 'release'}}
 | 
			
		||||
							
								
								
									
										36
									
								
								.github/workflows/test-pip-build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								.github/workflows/test-pip-build.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,36 +0,0 @@
 | 
			
		||||
name: ChangeDetection.io PIP package test
 | 
			
		||||
 | 
			
		||||
# Triggers the workflow on push or pull request events
 | 
			
		||||
 | 
			
		||||
# This line doesnt work, even tho it is the documented one
 | 
			
		||||
on: [push, pull_request]
 | 
			
		||||
 | 
			
		||||
  # Changes to requirements.txt packages and Dockerfile may or may not always be compatible with arm etc, so worth testing
 | 
			
		||||
  # @todo: some kind of path filter for requirements.txt and Dockerfile
 | 
			
		||||
jobs:
 | 
			
		||||
  test-pip-build-basics:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
        - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
        - name: Set up Python 3.9
 | 
			
		||||
          uses: actions/setup-python@v2
 | 
			
		||||
          with:
 | 
			
		||||
            python-version: 3.9
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        - name: Test that the basic pip built package runs without error
 | 
			
		||||
          run: |
 | 
			
		||||
            set -e
 | 
			
		||||
            mkdir dist
 | 
			
		||||
            pip3 install wheel
 | 
			
		||||
            python3 setup.py bdist_wheel            
 | 
			
		||||
            pip3 install -r requirements.txt
 | 
			
		||||
            rm ./changedetection.py
 | 
			
		||||
            rm -rf changedetectio
 | 
			
		||||
            
 | 
			
		||||
            pip3 install dist/changedetection.io*.whl
 | 
			
		||||
            changedetection.io -d /tmp -p 10000 &
 | 
			
		||||
            sleep 3
 | 
			
		||||
            curl http://127.0.0.1:10000/static/styles/pure-min.css >/dev/null
 | 
			
		||||
            killall -9 changedetection.io
 | 
			
		||||
@@ -3,7 +3,8 @@ import apprise
 | 
			
		||||
# Create our AppriseAsset and populate it with some of our new values:
 | 
			
		||||
# https://github.com/caronc/apprise/wiki/Development_API#the-apprise-asset-object
 | 
			
		||||
asset = apprise.AppriseAsset(
 | 
			
		||||
   image_url_logo='https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/changedetectionio/static/images/avatar-256x256.png'
 | 
			
		||||
   image_url_logo='https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/changedetectionio/static/images/avatar-256x256.png',
 | 
			
		||||
   async_mode=False  # Maybe related to https://github.com/dgtlmoon/changedetection.io/issues/1486
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
asset.app_id = "changedetection.io"
 | 
			
		||||
 
 | 
			
		||||
@@ -32,19 +32,7 @@ function isItemInStock() {
 | 
			
		||||
    'zur zeit nicht an lager',
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  const negateOutOfStockRegexs = [
 | 
			
		||||
      '[0-9] in stock'
 | 
			
		||||
  ]
 | 
			
		||||
  var negateOutOfStockRegexs_r = [];
 | 
			
		||||
  for (let i = 0; i < negateOutOfStockRegexs.length; i++) {
 | 
			
		||||
    negateOutOfStockRegexs_r.push(new RegExp(negateOutOfStockRegexs[0], 'g'));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  const elementsWithZeroChildren = Array.from(document.getElementsByTagName('*')).filter(element => element.children.length === 0);
 | 
			
		||||
 | 
			
		||||
  // REGEXS THAT REALLY MEAN IT'S IN STOCK
 | 
			
		||||
  for (let i = elementsWithZeroChildren.length - 1; i >= 0; i--) {
 | 
			
		||||
    const element = elementsWithZeroChildren[i];
 | 
			
		||||
    if (element.offsetWidth > 0 || element.offsetHeight > 0 || element.getClientRects().length > 0) {
 | 
			
		||||
@@ -55,39 +43,13 @@ function isItemInStock() {
 | 
			
		||||
        elementText = element.textContent.toLowerCase();
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (elementText.length) {
 | 
			
		||||
        // try which ones could mean its in stock
 | 
			
		||||
        for (let i = 0; i < negateOutOfStockRegexs.length; i++) {
 | 
			
		||||
          if (negateOutOfStockRegexs_r[i].test(elementText)) {
 | 
			
		||||
            return 'Possibly in stock';
 | 
			
		||||
          }
 | 
			
		||||
      for (const outOfStockText of outOfStockTexts) {
 | 
			
		||||
        if (elementText.includes(outOfStockText)) {
 | 
			
		||||
          return elementText; // item is out of stock
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // OTHER STUFF THAT COULD BE THAT IT'S OUT OF STOCK
 | 
			
		||||
  for (let i = elementsWithZeroChildren.length - 1; i >= 0; i--) {
 | 
			
		||||
    const element = elementsWithZeroChildren[i];
 | 
			
		||||
    if (element.offsetWidth > 0 || element.offsetHeight > 0 || element.getClientRects().length > 0) {
 | 
			
		||||
      var elementText="";
 | 
			
		||||
      if (element.tagName.toLowerCase() === "input") {
 | 
			
		||||
        elementText = element.value.toLowerCase();
 | 
			
		||||
      } else {
 | 
			
		||||
        elementText = element.textContent.toLowerCase();
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (elementText.length) {
 | 
			
		||||
        // and these mean its out of stock
 | 
			
		||||
        for (const outOfStockText of outOfStockTexts) {
 | 
			
		||||
          if (elementText.includes(outOfStockText)) {
 | 
			
		||||
            return elementText; // item is out of stock
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return 'Possibly in stock'; // possibly in stock, cant decide otherwise.
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user