GithubHelp home page GithubHelp logo

API cleanup about transcrypt HOT 6 CLOSED

transcryptorg avatar transcryptorg commented on July 25, 2024
API cleanup

from transcrypt.

Comments (6)

JdeH avatar JdeH commented on July 25, 2024 1

Indeed, if you want to invoke Transcrypt from a Python script, simply importing it doesn't work. Invoking it is possible, but has to be done via the command line, as in shipment_test.py below. It's admitted that this is less elegant than be able to call the compiler directly. I'll register this as an enhancement.

import os
import webbrowser

shipDir = os.path.dirname (os.path.abspath (__file__)) .replace ('\\', '/')
rootDir = '/'.join  (shipDir.split ('/')[ : -2])

def getAbsPath (relPath):
    return '{}/{}'.format (rootDir, relPath)

def test (relPath, fileNamePrefix, run = False, switches = ''):
    os.chdir (getAbsPath (relPath))

    os.system ('run_transcrypt -b -m {}{}.py'.format (switches, fileNamePrefix))    

    if run:
        os.chdir (getAbsPath (relPath))
        os.system ('run_transcrypt -r {}.py'.format (fileNamePrefix))       

    webbrowser.open ('file://{}/{}.html'.format (getAbsPath (relPath), fileNamePrefix), new = 2)
    webbrowser.open ('file://{}/{}.min.html'.format (getAbsPath (relPath), fileNamePrefix), new = 2)

for fcallSwitch in ('', '-f '):
    test ('development/automated_tests/hello', 'autotest', True, fcallSwitch)
    test ('development/automated_tests/transcrypt', 'autotest', True, fcallSwitch)
    test ('demos/hello', 'hello', False, fcallSwitch)
    test ('demos/jquery_demo', 'jquery_demo', False, fcallSwitch)
    test ('demos/d3js_demo', 'd3js_demo', False, fcallSwitch)
    test ('demos/pong', 'pong', False, fcallSwitch)
    test ('demos/turtle_demos', 'star', False, fcallSwitch + '-p .user ')
    test ('demos/turtle_demos', 'snowflake', False, fcallSwitch + '-p .user ')

    if fcallSwitch:
        print ('Shipment test completed')
    else:
        input ('Close browser tabs opened by shipment test and press [enter] for fcall test')

from transcrypt.

delijati avatar delijati commented on July 25, 2024

It should be left open if its "postponed"!?

from transcrypt.

JdeH avatar JdeH commented on July 25, 2024

Stricktly taken: Yes.

By closing it I am trying to make a distinction between short term and long term.

What you're proposing is certainly useful but it requires a reorganization of the compiler that is bound to initially break several things. It is something that only should be done in a period of relative "inertia" of the code.

So I've shoved it from the "open" list (that stares in my face each morning) to the closed list, that doesn't. This is admittedly a psychological trick to not be overwhelmed by what the future holds in store.

Come to think of it, maybe a better way to do this is assigning priority classes and keeping "postponeds" open.

By filtering on priority I could also keep my piece of mind...

from transcrypt.

JdeH avatar JdeH commented on July 25, 2024

By the way could you give me an assessment of how important this feature is for you. Personally I can live without it, but that isn't the norm.

from transcrypt.

JdeH avatar JdeH commented on July 25, 2024

After some thought: closing sends the wrong message.
Reopened and prio's introduced:

Must have
Want to have
Nice to have
Could have

The labels are a result of balancing benefit, effort and risk.

KR & thanks for the feedback!
Jacques

from transcrypt.

JdeH avatar JdeH commented on July 25, 2024

I don't expect this to be handled anytime soon, so I've added the label postponed and will close it again.
Motivation: #258.
Postponed issues can easily be searched since they share the same label.

from transcrypt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.