In you encounter scp problem when doing a recursive copy from Windows to Linux, try adding the -O parameter.
scp -r -O sample-files/ target-server:/target-path/
In you encounter scp problem when doing a recursive copy from Windows to Linux, try adding the -O parameter.
scp -r -O sample-files/ target-server:/target-path/
To run X11 / X-Window application in docker, the following tutorial provides a simple approach to archive it:
https://blog.yadutaf.fr/2017/09/10/running-a-graphical-app-in-a-docker-container-on-a-remote-server/
Working for fanvanzh's 3dtiles Linux compilation for days. Some items for reminding everybody how wants to do the same thing.
liwei0705 did a good move in making fanvanzh's 3dtiles converter works. But if you are using a new version of OSG and GDAL, pay attention to the following summarised reminders when building your own version of "_3dtile"
1) Create your start / stop script in a predefined directory (e.g. /development/service-script/ )
2) Allow SELinux to execute binaries in the predefined directory /development/service-script/ (!! important for SELinux)
chcon -R -t bin_t /development/service-script/
3) Create abc.service in /etc/systemd/system/
# Systemd unit file for ABC service
[Unit]
Description=ABC service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/development/service-script/start-cmd
ExecStop=/development/service-script/stop-cmd
User=service_owner
Group=service_owner
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
4) Reload systemd
systemctl daemon-reload
5) Start ABC service
systemctl start abc
Update the key file (qgis-archive.gpg) by:
wget -qO - https://qgis.org/downloads/qgis-2022.gpg.key | gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/qgis-archive.gpg --import
The NO_PUBKEY error message will be gone for 'apt update'
Separated dock for multiple workspace in Ubuntu, set the following to be true:
gsettings set org.gnome.shell.extensions.dash-to-dock isolate-workspaces true
This can be done via "RequestHeader unset Authorization"
<Location "/some_path">
Require all granted
ProxyPass https://target-host
RequestHeader unset Authorization
</Location>
import re
import sys
import urllib.request
import pdfplumber
import pandas as pd
if (len(sys.argv) < 2):
print("\n\nSyntax: python extract_pdf.py date_string (e.g. 20220124) \n\n")
exit()
def main():
date_string = sys.argv[1] # e.g. 20220124
pdf_file_name = f"ctn_{date_string}.pdf" # PDF from CHP: https://www.chp.gov.hk/files/pdf/ctn_20220124.pdf
#download_pdf( pdf_file_name )
extract_pdf( pdf_file_name )
def extract_pdf( pdf_file_name ):
with pdfplumber.open( f"./pdf/{pdf_file_name}" ) as pdf:
for page in pdf.pages:
#print(page)
for table in page.extract_tables():
df = pd.DataFrame(table[1:], columns=table[0])
for index, row in df.iterrows():
if (isinstance(row[0], str) and len(row[0])>0):
rowid = row[0].replace(".","")
title = row[1].split("\n")
for i in range(0,len(title)):
if (re.search(u'[\u4e00-\u9fff]', title[i]) is None):
title[i] = ""
print(rowid, "".join(title))
def download_pdf ( pdf_file_name ) :
pdfFile = urllib.request.urlopen(f"https://www.chp.gov.hk/files/pdf/{pdf_file_name}")
file = open(f"./pdf/{pdf_file_name}", "wb")
file.write(pdfFile.read())
file.close()
main()
If your conda env is nodejs v18, doing a conda install nodejs=26 is likely to create a lot of conflict. Consider remove those conflicting p...